我使用Phonegap Childbrowser進行oAuth 2.0身份驗證。在認證之後,我想在網頁中使用Javascript來隱藏Childbrowser而不用按「完成」按鈕。怎麼做?如何啓用Javascript來控制Phonegap Childbrowser?
例如,認證後,我們總是會得到一些回調參數。這意味着我們的認證是成功的。目前,我們應該關閉我們的瀏覽器,並且我想通過Javascript關閉瀏覽器而不用按任何按鈕。
我使用Phonegap Childbrowser進行oAuth 2.0身份驗證。在認證之後,我想在網頁中使用Javascript來隱藏Childbrowser而不用按「完成」按鈕。怎麼做?如何啓用Javascript來控制Phonegap Childbrowser?
例如,認證後,我們總是會得到一些回調參數。這意味着我們的認證是成功的。目前,我們應該關閉我們的瀏覽器,並且我想通過Javascript關閉瀏覽器而不用按任何按鈕。
ChildBrowser插件有一個close()
方法從JavaScript代碼關閉窗口。在childBrowser
window.plugins.childBrowser.close();
捕捉onLocationChange
和檢查url
參數,看它是否包含你在找什麼。如果是這樣,請撥打childBrowser.close()
。
ChildBrowser的一個奇怪之處在於它沒有.clear()
方法,所以我創建了一個名爲nothing.html
的空白頁面。如果您不這樣做,下次您使用ChildBrowser時,您會短暫地看到您的授權頁面。這對於Facebook和Twitter驗證我的redirectUrl
加倍。所以當它到達那個頁面時,我知道是時候關閉了。
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
};
};
};