ami*_*ena 9 javascript google-chrome dom-events ios
Apple文档列出了可用的iOS浏览器事件:https: //developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html
'pagehide'和'pageshow'事件似乎在safari上工作正常,但在chrome上它只适用于页面加载和卸载.它不起作用:
1)按主页按钮,即将chrome发送到后台
2)切换标签
下面是一个小的javascript代码段,您可以使用它来验证它:
<script type="text/javascript">
window.addEventListener("pageshow", function(evt){
alert('show');
}, false);
window.addEventListener("pagehide", function(evt){
alert('hide');
}, false);
</script>
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能检测铬是否被发送到背景.我需要在chrome返回前台后立即清除setTimeout计时器.任何解决方法?
以下是工作代码:
<script type="text/javascript">
var heartbeat;
var lastInterval;
function clearTimers() {
clearTimeout(heartbeat);
}
function getTime() {
return (new Date()).getTime();
}
function intervalHeartbeat() {
var now = getTime();
var diff = now - lastInterval - 200;
lastInterval = now;
if(diff > 1000) { // don't trigger on small stutters less than 1000ms
clearTimers();
}
}
lastInterval = getTime();
heartbeat = setInterval(intervalHeartbeat, 200);
Run Code Online (Sandbox Code Playgroud)
您可以在此处找到更多详细信息:http://aawaara.com/post/74543339755/smallest-piece-of-code-thats-going-to-change-the-world
归档时间: |
|
查看次数: |
21470 次 |
最近记录: |