我正在使用cordova创建一个应用程序:
openDatabase('testname', '1.0', 'Database display name', 5 * 1024 * 1024)
我使用插件登录facebook https://github.com/wizcorp/phonegap-facebook-plugin,成功登录后我正在调用以下函数
facebookConnectPlugin.api("<user-id>/?fields=id,email", ["user_birthday"],
function (result) {
alert("Result: " + JSON.stringify(result));
/* alerts:
{
"id": "000000123456789",
"email": "myemail@example.com"
}
*/
openDatabase('testname', '1.0', 'Database display name', 5 * 1024 * 1024)
},
function (error) {
alert("Failed: " + error);
}
});
我收到了错误消息 SecurityError:DOM异常18:尝试突破用户代理的安全策略。
答案 0 :(得分:0)
感谢您告诉我您拥有的版本+平台。 几个月前我遇到了同样的问题,这是因为android上有一个关于cordova的错误。
您可以在此处找到有关此修复程序的更多信息 https://github.com/apache/cordova-android/commit/6e4ef508e8f9f2d396515bd1d7465481d2f1285c
有两种方法可以解决这个问题:
第一个是更新到cordova 3.2,当你已经在3.0时,这应该是相当简单的
另一个是将此修复程序移植到3.0,这也是可能的。
在CordovaChromeClient.java
中有一个名为“onExceededDatabaseQuota”的方法,删除那里的所有逻辑并将其更改为quotaUpdater.updateQuota(MAX_QUOTA);