2

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 Exception 18: ユーザー エージェントのセキュリティ ポリシーを突破する試みが行われました。

4

1 に答える 1

0

お使いのバージョンとプラットフォームを教えていただきありがとうございます。数か月前に同じ問題が発生しましたが、これは Android の Cordova のバグが原因です。

ここで修正の詳細を確認できます https://github.com/apache/cordova-android/commit/6e4ef508e8f9f2d396515bd1d7465481d2f1285c

これを修正するには、次の 2 つの方法があります。

1 つ目は、cordova 3.2 に更新することです。これは、既に 3.0 を使用している場合はかなり簡単です。

もう 1 つは、この修正を 3.0 に移植することです。これも可能です。その中CordovaChromeClient.javaに「onExceededDatabaseQuota」というメソッドがあり、そこにあるロジックをすべて削除して、quotaUpdater.updateQuota(MAX_QUOTA);

于 2014-07-24T07:44:33.407 に答える