私はoAuth2.0認証にPhonegapChildbrowserを使用しています。認証後、WebページでJavascriptを使用して、「完了」ボタンを押さずにチャイルドブラウザを非表示にします。どうやってするか?
たとえば、認証後、常にいくつかのコールバックパラメータを取得します。これは、認証が成功したことを意味します。このとき、ブラウザを閉じる必要があります。ボタンを押さずにJavascriptでブラウザを閉じたいと思います。
私はoAuth2.0認証にPhonegapChildbrowserを使用しています。認証後、WebページでJavascriptを使用して、「完了」ボタンを押さずにチャイルドブラウザを非表示にします。どうやってするか?
たとえば、認証後、常にいくつかのコールバックパラメータを取得します。これは、認証が成功したことを意味します。このとき、ブラウザを閉じる必要があります。ボタンを押さずにJavascriptでブラウザを閉じたいと思います。
パラメータをキャプチャonLocationChange
しchildBrowser
てチェックし、url
探しているものが含まれているかどうかを確認します。その場合は、 にお電話childBrowser.close()
ください。
ChildBrowser の奇妙な点の 1 つは、メソッドがないことです。そのため、空白.clear()
という名前のページを作成しました。nothing.html
そうしないと、次に ChildBrowser を使用するときに認証ページが短時間表示されます。redirectUrl
これは、私の Facebook と Twitter の認証を兼ねています。だから、そのページにたどり着いたら、閉じる時だと思います。
var URL_NOTHING = 'nothing.html';
window.plugins.childBrowser.onLocationChange = function ( url ) {
if ( url.indexOf( URL_NOTHING ) > -1 ) {
if ( url.indexOf( 'oauth_token' ) > -1 ) { //twitter
window.plugins.childBrowser.close();
//do twittery stuff
} else { //facebook
window.plugins.childBrowser.close();
//do facebooky stuff
};
};
};
ChildBrowserプラグインには、close()
JavaScriptコードからウィンドウを閉じるメソッドがあります。
window.plugins.childBrowser.close();