我使用 Phonegap Childbrowser 进行 oAuth 2.0 身份验证。身份验证后,我想在网页中使用 Javascript 隐藏 Childbrowser 而不按“完成”按钮。怎么做?
比如认证后,我们总会得到一些回调参数。这意味着我们的身份验证成功。这个时候,我们应该关闭浏览器,我想通过Javascript关闭浏览器,不按任何按钮。
我使用 Phonegap Childbrowser 进行 oAuth 2.0 身份验证。身份验证后,我想在网页中使用 Javascript 隐藏 Childbrowser 而不按“完成”按钮。怎么做?
比如认证后,我们总会得到一些回调参数。这意味着我们的身份验证成功。这个时候,我们应该关闭浏览器,我想通过Javascript关闭浏览器,不按任何按钮。
捕获onLocationChange
并childBrowser
检查url
参数以查看它是否包含您要查找的内容。如果是这样,请致电childBrowser.close()
。
ChildBrowser 的一个奇怪之处在于它没有.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();