我正在使用 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": "[email protected]"
}
*/
openDatabase('testname', '1.0', 'Database display name', 5 * 1024 * 1024)
},
function (error) {
alert("Failed: " + error);
}
});
我收到错误消息 SecurityError:DOM 异常 18:尝试突破用户代理的安全策略。
感谢您让我知道您的版本+平台。 几个月前我遇到了同样的问题,这是由于 android 上的 cordova 中的一个错误。
您可以在此处找到有关修复的更多信息 https://github.com/apache/cordova-android/commit/6e4ef508e8f9f2d396515bd1d7465481d2f1285c
有两种可能的方法可以解决此问题:
第一个是更新到 cordova 3.2,当您已经使用 3.0 时,这应该相当简单
另一个是将此修复移植到 3.0,这也是可能的。 在
CordovaChromeClient.java
中有一个名为“onExceededDatabaseQuota”的方法,删除那里的所有逻辑并将其更改为quotaUpdater.updateQuota(MAX_QUOTA);