我们正在使用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
然后触发事件监听器并关闭窗口。
有没有办法让事件监听器更快地触发以避免此错误?
非常感谢
答案 0 :(得分:0)
如果您要尝试访问InAppBrowser库,但未在PhoneGap项目中安装插件,也会发生这种情况。