我们正在使用AngularJS和Ionic框架创建基于PhoneGap的应用程序。
这个应用程序是一个商店管理系统,与现有的Web应用程序使用OAuth2相结合,我们遇到了Android在身份验证后重定向的问题。
为了在成功连接或取消时关闭InAppBrowser窗口,设置了以下事件监听器:
为了进行浏览器测试,还定义了一个本地主机重定向URI:
在iOS上,这个功能很好地实现了,在应该关闭InAppBrowser时,它会立即关闭。但是在Android上,事件监听器触发之前会有一些延迟。结果是,在大约1秒钟的时间内,会显示以下错误消息:
这个应用程序是一个商店管理系统,与现有的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
事件监听器随后触发,窗口关闭。
有没有办法使事件监听器更快地触发以避免此错误?
非常感谢