1

我使用 Phonegap Childbrowser 进行 oAuth 2.0 身份验证。身份验证后,我想在网页中使用 Javascript 隐藏 Childbrowser 而不按“完成”按钮。怎么做?

比如认证后,我们总会得到一些回调参数。这意味着我们的身份验证成功。这个时候,我们应该关闭浏览器,我想通过Javascript关闭浏览器,不按任何按钮。

4

2 回答 2

2

捕获onLocationChangechildBrowser检查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
        };
    };
};
于 2012-07-15T03:26:20.457 回答
0

ChildBrowser插件有一种close()方法可以从 javascript 代码中关闭窗口。

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