gpt4 book ai didi

javascript - window.open 事件监听器在 Android 4.4.2 中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:41:57 26 4
gpt4 key购买 nike

我有一个 PhoneGap 应用程序,它使用 InAppBrowser 加载 Google 登录体验。因此,我需要一个事件监听器来检测浏览器何时更改位置。据我所知,下面的设置在除 4.4.2 以外的所有 Android 版本上都运行良好;事件监听器触发,一切正常。

但是,在 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")
})

-

***更新***

我已经能够通过退出 InAppBrowser 并再次打开它来触发监听器。我不知道为什么它会在这种情况下起作用,但在其他情况下却不起作用。非常感谢此处的任何帮助。

最佳答案

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

setInterval(function () {
cordova.exec(null, null, '', '', [])
}, 200);

我在 meteor-phonegap-oauth 中使用这个 hack,https://github.com/jperl/meteor-phonegap-oauth/blob/badfb932bb0b525a32c35115eb75edb8d21bbf57/patch_window.js#L20-L29

这也将解决插件在下一个插件操作之前不会调用其回调的问题,例如:Cannot use asynchronous methods in Cordova 3.4. Onsuccess is not called after the first call of plugin method

关于javascript - window.open 事件监听器在 Android 4.4.2 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23352940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com