gpt4 book ai didi

用于移动浏览器重新启动或设备唤醒的 Javascript 事件

转载 作者:技术小花猫 更新时间:2023-10-29 10:36:04 26 4
gpt4 key购买 nike

早上好,我正在寻找某种 Javascript 事件,我可以使用它来检测移动浏览器窗口何时重新获得焦点,在用户关闭/最小化他们的浏览器(返回主屏幕/不同的应用程序)之后,或者如果设备从 sleep 状态恢复(用户将其关闭电源,或者它在屏幕超时后进入休眠状态)。

我希望能够找到适用于所有情况的单一事件,但我知道这不太可能! pageshow 事件适用于 iOS 设备,但它不适用于其他所有设备。我试过 focusDOMActivate 但它们似乎都没有达到预期的效果。

页面上可能并不总是有表单元素,我真的不希望用户必须再次触摸页面才能触发事件。

此类事件的要求是由我们的代码通过发出 XHR 请求定期检查新内容引起的。当浏览器处于休眠状态时,这些永远不会发送,因此我们永远不会获得新内容来重新启动超时。

感谢你们可能提供的任何帮助!

最佳答案

我们遇到了类似的问题,解决方法如下:

var lastSync = 0;
var syncInterval = 60000; //sync every minute

function syncPage() {
lastSync = new Date().getTime(); //set last sync to be now
updatePage(); //do your stuff
}

setInterval(function() {
var now = new Date().getTime();
if ((now - lastSync) > syncInterval ) {
syncPage();
}
}, 5000); //check every 5 seconds whether a minute has passed since last sync

通过这种方式,如果您的页面处于 Activity 状态,您将每分钟同步一次,并且如果您将浏览器置于空闲模式超过一分钟,则在再次打开浏览器时同步之前最多会经过 5 秒。较短的间隔时间可能会比您希望的更耗电,因此在根据您的需要调整时间间隔时请记住这一点。

关于用于移动浏览器重新启动或设备唤醒的 Javascript 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13798516/

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