我有一个带有简单setTimeout东西的iframe:
function load()
{
setTimeout("reloadContent()", 8000);
}
function reloadContent()
{
$('#somecontent').doSomething();
load();
}
$(document).ready(function()
{
reloadContent();
});
当我失去对父窗口的关注(即移动到另一个程序或另一个选项卡)时,问题就出现了。似乎它以某种方式堆叠它必须重新加载内容的次数,然后当我重新获得焦点时,它会在没有延迟的情况下执行所有操作。
当我使用 jQuery 1.6.2 时,此代码失败,但它适用于 jQuery 1.3.2 。我错过了什么?关于窗口/父/ iframe(s)模糊/焦点增益/损失有什么重要的了解吗?任何提示或提示?
谢谢!
答案 0 :(得分:1)
您需要监控页面上的onblur和onfocus事件..
window.addEventListener('focus', function() {
timeoutVarName = setTimeout(...,8000);
});
window.addEventListener('blur', function() {
clearTimeout(timeoutVarName);
});
你可以使用:
做同样的事情window.onblur = function(){
...
};
window.onfocus = function(){
...
};
但是在谷歌浏览器中不起作用:)
答案 1 :(得分:0)
从http://www.eslinstructor.net/smartupdater3/尝试使用Smartupdater 3并使用div而不是iframe。
你必须使用jQuery