Jim*_*ato 8 javascript browser cross-browser
我有一个javascript计时器,它不断地(每10秒一次)发出XMLHTTP请求.我希望能够在窗口或标签失去焦点时暂停计时器.
我完全了解对象上的事件onFocus和onBlur事件window,但它们并不能在所有浏览器中可靠地触发.例如,在Safari中,选项卡不会触发事件.
下面的简单代码提炼了我正在寻找的功能:
<html>
<head>
<title>Testing</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"></script>
</head>
<body>
<div id="console"></div>
<script type="text/javascript">
window.onfocus = function(event) {
$('console').insert('Window gained focus<br />');
}
window.onblur = function(event) {
$('console').insert('Window lost focus<br />');
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
有没有人有一种技术可以确定浏览器窗口或标签何时失去/获得适用于所有流行浏览器的焦点?
上面的代码在Safari v3.0.4(WebKit 530+)中运行良好,该错误似乎已得到解决。我检查过它Google Chrome v3.0.195.27,它有相同的 Safari 错误,尽管它有较新版本的 WebKit。
| 归档时间: |
|
| 查看次数: |
5080 次 |
| 最近记录: |