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

Sam*_*ett 6 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();
                });
            }
        });
Run Code Online (Sandbox Code Playgroud)

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

http://localhost:8100/oauthcallback.html
Run Code Online (Sandbox Code Playgroud)

在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
Run Code Online (Sandbox Code Playgroud)

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

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

非常感谢

Jas*_*sho 0

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