1

私はoAuth2.0認証にPhonegapChildbrowserを使用しています。認証後、WebページでJavascriptを使用して、「完了」ボタンを押さずにチャイルドブラウザを非表示にします。どうやってするか?

たとえば、認証後、常にいくつかのコールバックパラメータを取得します。これは、認証が成功したことを意味します。このとき、ブラウザを閉じる必要があります。ボタンを押さずにJavascriptでブラウザを閉じたいと思います。

4

2 に答える 2

2

パラメータをキャプチャonLocationChangechildBrowserてチェックし、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
        };
    };
};
于 2012-07-15T03:26:20.457 に答える
0

ChildBrowserプラグインには、close()JavaScriptコードからウィンドウを閉じるメソッドがあります。

window.plugins.childBrowser.close();
于 2012-07-14T14:47:08.920 に答える