我正在使用phonegap cordova-1.5.0.js和jar。 并使用带有jsOAtuh.1.3.3.js的cordova的phonegap-plugins
我收到错误消息:
“未在文件中找到未捕获的模块xhr:///android_asset/www/cordova-1.5.0.js”
每当我尝试创建OAuth对象时。
我有以下参考:
https://github.com/bytespider/jsoauth
这是我的代码。
var config_google={
var config_google={
consumerKey: "{removed}",
consumerSecret: "{removed}",
requestTokenUrl: "https://www.google.com/accounts/OAuthGetRequestToken?scope={removed}",
authorizationUrl:"https://www.google.com/accounts/OAuthAuthorizeToken",
accessTokenUrl:"https://www.google.com/accounts/OAuthGetAccessToken"
};
function authservice(service){
//alert(service);
curfunc = "authservice";
str_service = service;
if (service === 'google'){
oauth = new OAuth(config_google);
}else if....
........
}
之前我使用过phonegap-1.4.1.js(之前的版本)代码并且它可以工作。我在1.4.1和1.5.0上搜索了xhr,他们都没有xhr,但有一些评论引用。不完全确定为什么更改1.5.0并且它将禁用代码。我需要使用1.5.0是因为我需要使用childbrowser插件。
你能指出我正确的方向吗?
提前致谢。
答案 0 :(得分:0)
我有一个让它发挥作用的黑客攻击。 802行的需求(“xhr”)认为有人在某处注册了它,但在记录它时,我没有看到任何人调用Cordova的“定义”函数来注册它。
因此,如果你注释掉这3行代码,那么就可以快速回到XMLHttpRequest,这样(在Request构造函数中的第800行附近):
if (typeof global.Titanium !== 'undefined' && typeof global.Titanium.Network.createHTTPClient != 'undefined') {
XHR = global.Titanium.Network.createHTTPClient();
//} else if (typeof require !== 'undefined') {
// // CommonJS require
// XHR = new require("xhr").XMLHttpRequest();
} else {
// W3C
XHR = new global.XMLHttpRequest();
}