如何解决Cordova Inappbrowser loadstop 从不触发
在某些网页(例如 walmart.ca)上,从未触发 inappbrowser 的 loadstop 事件。我认为,由于大多数网站的 loadstop 触发,walmart.ca(和其他网站)的某种代码仍在后台运行,因此页面永远不会真正停止加载,因此 executeScript 事件永远不会触发。
如果我在 inappbrowser 对象上手动调用 .show,例如在 10 秒后从未调用 loadstop,inappbrowser 将显示并且页面似乎加载正常。但是 executeScript 事件从未被触发,因为 loadstop 从未被调用过。我曾尝试在使用计时器调用 .show 之前调用 executeScript 以绕过 loadstop 事件,但实际上并没有调用 executeScript 代码。
在 loadstop 事件触发后,似乎只有 executeScript 可以工作。
但是,如果在页面不断在后台加载某些内容时从未调用 loadstop,那么解决方案是什么,但可以向用户显示,因为网页基本上已完成加载并且功能齐全。
inAppBrowserRef.addEventListener("loadstop",loadStopCallBack);
function loadStopCallBack() {
inAppBrowserRef.executeScript( .... // this works if the page actually stops loading
}
// a delayed function that is called after 30sec
function timeWait() {
inAppBrowserRef.executeScript( .... // the page is loaded just fine (confirmed if you call .show),but trying to bypass the loadstop event doesn't result in the executeScript in actually loading
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。