PhoneGap InAppBrowser事件监听器太慢(Android)

时间:2014-09-18 01:46:48

标签: android angularjs cordova phonegap-build ionic-framework

我们正在使用AngularJS和Ionic框架创建基于PhoneGap的应用程序。

这个应用程序是一个商店管理系统,它使用OAuth2与现有的Web应用程序绑定,我们在验证后出现Android重定向问题。

如下所示设置事件侦听器,以便在成功连接或取消时关闭InAppBrowser窗口:

    if (runningInCordova) {
        connectWindow.addEventListener('loadstart', function(event) {
            var url = event.url;
            if (url.indexOf("code=") > 0 || url.indexOf("error=") > 0) {

                return callback(url).then(function() {
                    connectWindow.close();
                },
                function() {
                    connectWindow.close();
                });
            }
        });

出于浏览器测试的目的,还定义了localhost重定向URI:

http://localhost:8100/oauthcallback.html

在iOS上运行正常,InAppBrowser应该立即关闭,但在Android上,此事件监听器触发前有一段延迟。结果是大约1秒钟显示以下错误消息:

Web page not available
The web page at http://localhost:8100/oauthcallback.html could not be loaded as:
net::ERR_CONNECTION_REFUSED

然后触发事件监听器并关闭窗口。

有没有办法让事件监听器更快地触发以避免此错误?

非常感谢

1 个答案:

答案 0 :(得分:0)

如果您要尝试访问InAppBrowser库,但未在PhoneGap项目中安装插件,也会发生这种情况。