PhoneGap Build バージョン 2.9.0 と、公式の PG プラグイン ChildBrowser (v4.2.1) を使用しています。
背景: OAuth の目的で ChildBrowser を使用しています - サードパーティ アプリケーションへの認証。基本的に、ユーザーが認証されると、特定の URL を検出し、ChildBrowser を閉じて次に進みます。
ただし、これは iPad でのみ発生します (iPhone と Android は正常に動作します): - ChildBrowser がサード パーティ製アプリの認証画面で起動する - ユーザーがアプリを承認し、私の Web サイトのプレースホルダー ページにリダイレクトされる - ChildBrowser は (予想どおり) 閉じますが、 [プレースホルダー ページ].com/index.html にすぐに開きます。- これは画面全体を占有し、ユーザーは続行できません。
これが私のコードです:
window.plugins.childBrowser.onLocationChange = function(location) {
if (location.indexOf('oauth_verifier') > -1) {
window.plugins.childBrowser.close();
// code removed - retrieve and store oauth value from url (location variable)
// code removed - get access token via 3rd party API
navigator.notification.alert('Success!');
// send user to Activity tab
window.location.href = "index.html#tabstrip-activity";
}
}
};
childBrowser.showWebPage("www.linkTo3rdPartySiteAuth.com");
私が信じていたのは、ブラウザーが意図したとおりに閉じていたのに、window.location を index.html に戻した行に到達したため、PhoneGap または iPad が誤った index.html ページを起動したということでした。ただし、ウィンドウの場所を変更する行を削除しようとしましたが、問題は引き続き発生します。考え?