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