Cordova InApp浏览器在Android上打开双窗口

Cordova InApp浏览器在Android上打开双窗口,android,cordova,inappbrowser,Android,Cordova,Inappbrowser,我已经用最新版本的InAppBrowser在Cordova 3.6中开发了一个应用程序。在Android设备(4.1.2和其他)上运行,当用户点击链接打开AppBrowser时,偶尔会打开一个双窗口。第二扇窗户关不上 为了检查这是否是我在应用程序中做的事情,我快速创建了一个默认的Cordova hello world应用程序,并添加了标准的window.open代码和如下链接 <a href="#" onclick="window.open('http://www.google.com',

我已经用最新版本的InAppBrowser在Cordova 3.6中开发了一个应用程序。在Android设备(4.1.2和其他)上运行,当用户点击链接打开AppBrowser时,偶尔会打开一个双窗口。第二扇窗户关不上

为了检查这是否是我在应用程序中做的事情,我快速创建了一个默认的Cordova hello world应用程序,并添加了标准的window.open代码和如下链接

<a href="#" onclick="window.open('http://www.google.com','_blank')">OPEN WINDOW</a>


对该设备进行的基本测试显示,同样的情况也在发生——偶尔快速或双击会打开一个双窗口,其中一个窗口无法关闭。您的问题可能是由使用“onclick”事件启动childbrowser引起的

onclick有一个内置的300ms超时,这会使应用程序显得滞后,并导致上述一些问题

改为使用mouseup/mousedown,并在处理程序内部禁用侦听器

<a href="#" onclick="open('http://www.google.com','_blank')">OPEN WINDOW</a>

function open(url, name) {
    // deregister the onclick listener, insuring the callback resolves
    window.open(url,name);
    // register the listener
}

函数打开(url、名称){
//取消注册onclick侦听器,确保回调解析
打开(url、名称);
//注册侦听器
}

我尝试了Fastclick,但没有正常工作,可能是由于jQuery移动冲突。无论如何,我会进一步调查,但这个问题可能会减少到其他一些已经存在的问题,所以除非有更多的启示来,否则我会把你标记为答案。