Util.fetch = function(path,callback) { if (callback && typeof callback != 'function') callback = null; if (Util.IS_NODE) { var fs = require("fs"); if (callback) { fs.readFile(path,function(err,data) { if (err) callback(null); else callback(""+data); }); } else try { return fs.readFileSync(path); } catch (e) { return null; } } else { if(cc.sys.isNative) { //Native版本需要特殊处理下ProtoBuf的读取方式 var msg = jsb.fileUtils.getStringFromFile(path); if(callback){ callback(msg); }else{ return msg; } }else{ var xhr = Util.XHR(); xhr.open('GET',path,callback ? true : false); // xhr.setRequestHeader('User-Agent','XMLHTTP/1.0'); xhr.setRequestHeader('Accept','text/plain'); if (typeof xhr.overrideMimeType === 'function') xhr.overrideMimeType('text/plain'); if (callback) { xhr.onreadystatechange = function() { if (xhr.readyState != 4) return; if (/* remote */ xhr.status == 200 || /* local */ (xhr.status == 0 && typeof xhr.responseText === 'string')) callback(xhr.responseText); else callback(null); }; if (xhr.readyState == 4) return; xhr.send(null); } else { xhr.send(null); if (/* remote */ xhr.status == 200 || /* local */ (xhr.status == 0 && typeof xhr.responseText === 'string')) return xhr.responseText; return null; } } } };
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。