所以我在jQuery中加载了我的加载脚本:
function load() {
$.ajax({
url: '/urltoload.php',
cache: false,
success: function(html){
//do something
}
}
使用setInterval
,如何检查页面上是否有用户?
答案 0 :(得分:1)
使用$(window).focus()
,您可以检查浏览器是否处于活动状态。
$(window).focus(function(){
// interval here
});
答案 1 :(得分:1)
如果我正确理解了您的问题,您可以检查用户是否“在页面上”,并在保留时使用以下代码:
$(document).ready(function(){
$([window, document]).focusin(function(){
//Your logic when the page gets active
}).focusout(function(){
//Your logic when the page gets inactive
});
});
另一种解决方案,可能更复杂一点,就是每N秒检查一次鼠标移动(http://api.jquery.com/mousemove/#fn)。
如果您遇到跨浏览问题,可以查看此答案,为不同的浏览器提供良好的解决方法:https://stackoverflow.com/a/1060034/1720344
<强>更新强>
超时函数的伪代码是:
setTimeout(function() {
// Do something after 2 seconds
}, 2000);
根据你的评论,我认为最好“围绕”子功能,而不是$(document).ready()
(我之前没有做过,盯着document.ready
,但是你可以试试看看是什么它会发生;) - 我相信这个函数在document.ready
)
超时2秒,你可以做类似的事情(但我还没有测试过):
$(document).ready(setTimeout(function(){
$([window, document]).focusin(function(){
//Your logic when the page gets active
}).focusout(function(){
//Your logic when the page gets inactive
});
}, 2000));