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 回しか表示されません。私のコードに問題はありますか?