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

6
我们正在使用AngularJS和Ionic框架创建基于PhoneGap的应用程序。
这个应用程序是一个商店管理系统,与现有的Web应用程序使用OAuth2相结合,我们遇到了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();
                });
            }
        });

为了进行浏览器测试,还定义了一个本地主机重定向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

事件监听器随后触发,窗口关闭。

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

非常感谢


我在使用 Twitter 登录时遇到了问题。你是如何配置回调 URL 的?我提供了 localhost 和 127.0.0.1,但它显示 net::ERR_CONNECTION_REFUSED 错误信息,无法正常工作。 - Dev DOS
有任何更新/帮助吗? - John
你尝试过使用非本地主机的URL吗? - Subjective Effect
您需要在提供程序仪表板和库中更改回调/重定向URI,以指向非本地主机URL。 - Nic Raboy
嗨,Sam,我在想你能否解决这个问题。你能分享一下你的解决方案吗? - Afflatus
1个回答

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接