Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript window.open事件侦听器在Android 4.4.2中不工作_Javascript_Android_Cordova_Inappbrowser - Fatal编程技术网

Javascript window.open事件侦听器在Android 4.4.2中不工作

Javascript window.open事件侦听器在Android 4.4.2中不工作,javascript,android,cordova,inappbrowser,Javascript,Android,Cordova,Inappbrowser,我有一个PhoneGap应用程序,它使用InApp浏览器加载谷歌登录体验。因此,我需要一个事件监听器来检测浏览器何时更改位置。下面的设置在除了4.4.2之外的所有Android版本上都运行得非常好,这是我能说的最好的;事件侦听器启动,一切正常 然而,在安卓4.4.2上,我似乎无法让任何事件侦听器为窗口启动;loadstart、onload、onscroll等。似乎没有任何东西着火。不幸的是,在Google或StackOverflow上似乎找不到任何解决方案 不确定需要/有用的其他信息,但乐意提供

我有一个PhoneGap应用程序,它使用InApp浏览器加载谷歌登录体验。因此,我需要一个事件监听器来检测浏览器何时更改位置。下面的设置在除了4.4.2之外的所有Android版本上都运行得非常好,这是我能说的最好的;事件侦听器启动,一切正常

然而,在安卓4.4.2上,我似乎无法让任何事件侦听器为窗口启动;loadstart、onload、onscroll等。似乎没有任何东西着火。不幸的是,在Google或StackOverflow上似乎找不到任何解决方案

不确定需要/有用的其他信息,但乐意提供任何信息

var auth_window = window.open(auth_url, '_blank', 'location=no,toolbar=no');

auth_window.addEventListener('loadstart', function(event) {
     alert("blah")
})
-

***更新***


我已经能够通过退出应用浏览器并再次打开它来激发听众。我不知道为什么它会在这种情况下起作用,但不是这样。非常感谢您的帮助。

您可能有一个旧的PhoneGap/Cordova版本,它不太支持Android 4.4.x。 在这种情况下,您应该更新PhoneGap/Cordova。

尝试以下方法:

window.open("http://google.com", '__blank');
我认为上述方法的第三个参数是Options,只有一个选项是“location”yes或no,这个方法没有类似于“toolbar”的选项

所以去掉逗号后面的额外选项,我想你会没事的

下面是电话差距文档中的解释

选项:InAppBrowser(字符串)的选项(可选,默认值: “地点=是”)

选项字符串不得包含任何空格、每个要素名称 和值必须用逗号分隔。只有下面的值是 支持:

>位置-设置为“是”或“否”可打开或关闭位置栏 iApp浏览器


不断调用exec将强制处理消息

setInterval(function () {
    cordova.exec(null, null, '', '', [])
}, 200);
我在meteor phonegap oauth中使用这个黑客


这也将解决插件在下一个插件操作之前不会调用回调的问题,例如:

感谢您的响应!我正在运行PhoneGap 3.3,所以我不确定这是问题所在。不客气!你可能想试试3.4版——以防万一。它显然有许多安卓补丁。()我以前只通过升级就解决了兼容性问题。很少有Jquery函数在4.4.x上不起作用,但在4.4.x下运行良好。我正在使用cordova 3.4.0这是否正确取决于所使用的PhoneGap版本。但是,您在文档中的引用表明,他们可以有多个选项(每个选项),例如,在他们的文档中:
setInterval(function () {
    cordova.exec(null, null, '', '', [])
}, 200);