问题描述
在我的 aspx 页面中,我使用 xmlhttp.response
来更新此页面的一部分.使用 js 函数,此更新每 3 秒发生一次.但是当我的电脑进入睡眠模式时,这个更新不会发生.还行吧.但是当电脑从睡眠模式唤醒时,我需要自动开始更新而不重新加载这个页面.如何做到这一点?
In my aspx page, I use xmlhttp.response
to update a part of this page. This update occurs in every 3 seconds using js function. But when my PC goes to sleep mode, this update doesn't happen. This is OK. But when PC wake up from sleep mode, I need to start update automatically without reload this page. How to do this?
推荐答案
您可以检测 JS 时间线中的中断(例如笔记本电脑睡眠、阻止 JS 执行的警报窗口、打开调试器的 debugger
语句) 通过比较墙上时间的变化与预期的计时器延迟.例如:
You can detect disruptions in the JS timeline (e.g. laptop sleep, alert windows that block JS excecution, debugger
statements that open the debugger) by comparing change in wall time to expected timer delay. For example:
var SAMPLE_RATE = 3000; // 3 seconds
var lastSample = Date.now();
function sample() {
if (Date.now() - lastSample >= SAMPLE_RATE * 2) {
// Code here will only run if the timer is delayed by more 2X the sample rate
// (e.g. if the laptop sleeps for more than 3-6 seconds)
}
lastSample = Date.now();
setTimeout(sample, SAMPLE_RATE);
}
sample();
这篇关于PC从睡眠模式唤醒时开始调用js函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!