1

PhoneGap Build を使用して AngularJS プロジェクトをモバイル アプリとしてラップしています。InAppBrowser を使用して Facebook/Twitter OAuth ページを開きます。

私の構成:

  • 角度 1.0.8
  • PhoneGap ビルド上の PhoneGap 3.1.0
  • InAppBrowser 0.2.3
  • ハイドレーションを有効および無効にしてテストした結果は同じでした

私が使用したコードスニペットは次のとおりです。

// This part code is called from click handler of a button,
// this is the only place that used the PhoneGap API.
var ipwin; // Used in somewhere else
document.addEventListener("deviceready", function() {
    ipwin = $window.open("some url", "_blank");
    $(ipwin).on("loadstop", function(e) {
        var url = e.originalEvent.url;
        console.log("loadstop: " + url);
        // snipped
    });
    // Below are testing code added while debugging
    var test = function() {
        console.log("setTimeout test");
    };
    setTimeout(test, 2000);
    test();
}, false);

これは Android 4.0 では問題なく動作しますが、Android 2.3 ではloadstopイベントは発生しません。私も試しloadstartてみloaderrorましたが、どれも発火しませんでした。さらに奇妙なことに、setTimeout testコンソール出力には 2 回ではなく 1 回しか表示されません。私のコードに問題はありますか?

4

4 に答える 4

1

Android の PhoneGap 3.0 と 3.1 の両方で同様の問題が発生していましたが、PhoneGap 2.9 に戻すと、これらの InAppBrowser イベントが再び発生しました。

于 2013-12-01T04:16:59.327 に答える
0

最後の phonegap/cordova バージョン 3.1.0 に問題があるようです。

https://groups.google.com/forum/#!topic/phonegap/e5_5unC2fYs

古いバージョンを試してください。

于 2013-11-06T07:51:39.523 に答える