在html5中document新增了一个事件 visibilitychange,这个事件在页面前台或后台切换时被触发,它也有个对应的属性visibilityState,用于检测当前页面的状态值为hidden还是visible。
解法是,在hidden时记录当前时间,在visible时用当前时间减去之前记录的时间就为当前倒计时需要减去的时间,这也就不需要和后台沟通了,或者你直接在visible时刷新页面也行,下面是小样,测试一下
var b=getTime(); function getTime() { return Date.now(); } document.addEventListener('webkitvisibilitychange',function() { if(document.webkitVisibilityState=='hidden') { b=getTime(); }else { document.body.appendChild(document.createTextNode('间隔:'+(getTime()-b))) } }) document.addEventListener('mozvisibilitychange', function() { if(document.mozVisibilityState=='hidden') { b=getTime(); }else { document.body.appendChild(document.createTextNode('间隔:'+(getTime()-b))) } })
作者:竿牍
链接:https://www.jianshu.com/p/3d083c70e6ea
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦