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

问题描述 投票:0回答:1

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

facebook cordova opendatabase
1个回答
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);

© www.soinside.com 2019 - 2024. All rights reserved.