SecurityError:DOM异常18:尝试突破用户代理的安全策略

时间:2014-07-23 12:53:39

标签: facebook cordova opendatabase

我正在使用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:尝试突破用户代理的安全策略。

1 个答案:

答案 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);