我正在使用 PhoneGap Build 将 AngularJS 项目包装为移动应用程序,它使用 InAppBrowser 打开 Facebook/Twitter OAuth 页面。
我的配置:
- 角 1.0.8
- PhoneGap Build 上的 PhoneGap 3.1.0
- InAppBrowser 0.2.3
- 在启用和禁用水合的情况下进行测试,结果相同
这是我使用的代码片段:
// This part code is called from click handler of a button,
// this is the only place that used the PhoneGap API.
var ipwin; // Used in somewhere else
document.addEventListener("deviceready", function() {
ipwin = $window.open("some url", "_blank");
$(ipwin).on("loadstop", function(e) {
var url = e.originalEvent.url;
console.log("loadstop: " + url);
// snipped
});
// Below are testing code added while debugging
var test = function() {
console.log("setTimeout test");
};
setTimeout(test, 2000);
test();
}, false);
这在 Android 4.0 上运行良好,但在 Android 2.3 上该loadstop
事件不会触发。我也试过loadstart
and loaderror
,没有一个会着火。更奇怪的是,setTimeout test
控制台输出中只出现一次而不是两次。我的代码有问题吗?