我有一个基于 cordova 2.6 和 jqm 1.3 的 iOS/Android 应用程序。用户单击按钮后,我需要打开指向外部网站的链接。我正在使用的代码是:
var ref = window.open('http://google.com','_self','location=yes');
ref.addEventListener('loadstart',function(event) {
console.log('load started');
});
ref.addEventListener('loadstop',function(event) {
console.log('load stopped');
});
ref.addEventListener('loaderror',function(event) {
console.log('load error = ' + JSON.stringify(event));
});
在 iOS 上,一切都像我预期的那样运行。加载了 google 网站的新浏览器窗口打开。但我无法在 Android 中加载任何内容。当我单击按钮时,什么也没有发生。我已经在 window.open 之前和之后放入了控制台语句,所以我知道代码至少正在执行。
我的 config.xml 应该对白名单站点开放:
<access origin=".*"/>;
我已经在 Nexus 7 (android 4.2) 和 android 2.2 模拟器上进行了测试,两者的结果相同。
有谁知道为什么window.open 不会在android 上正确触发?