PhoneGap InAppBrowser 事件监听器太慢(Android)
Posted
技术标签:
【中文标题】PhoneGap InAppBrowser 事件监听器太慢(Android)【英文标题】:PhoneGap InAppBrowser event listener too slow (Android) 【发布时间】:2014-11-12 05:16:37 【问题描述】:我们正在使用 AngularJS 和 Ionic 框架创建一个基于 PhoneGap 的应用程序。
这个应用程序是一个商店管理系统,它与使用 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();
);
);
出于浏览器测试的目的,还定义了一个 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
然后触发事件监听器并关闭窗口。
有什么方法可以让事件监听器更快地触发以避免这个错误?
非常感谢
【问题讨论】:
我在使用 twitter 登录时遇到问题。你是如何配置回调 url 的?我提供了 localhost 和 127.0.0.1,但它无法显示 net::ERR_CONNECTION_REFUSED 消息 对此有何更新/帮助? 你试过使用非本地 url 吗? 您必须在提供程序仪表板和库中更改回调/重定向 uri 以指向非本地 url 嗨,Sam,我想知道你是否可以解决这个问题。你会分享你的解决方案吗? 【参考方案1】:如果您尝试访问 InAppBrowser 库,但没有在您的 PhoneGap 项目中安装插件,也会发生这种情况。
【讨论】:
以上是关于PhoneGap InAppBrowser 事件监听器太慢(Android)的主要内容,如果未能解决你的问题,请参考以下文章
Cordova/Phonegap 3.3 中的外部链接/InAppBrowser 总是表现得像“_self”
Phonegap / iOS - 无法使 inAppBrowser 工作
是否可以使用javascript向inappbrowser的工具栏添加按钮并控制其事件...?