我需要显示执行某些操作的人数的实时更新。我通过每 20 秒向服务器发出一个 ajax 请求来实现此功能。但是即使选项卡不在焦点/没有人在查看更新,也会发生此 ajax 请求。有没有办法确定标签是否处于活动状态?
我有以下代码(简化版),但它不起作用。
timer = undefined
$(document).ready ->
timedCountUpdate()
window.top.onblur = ->
clearTimeout(timer)
window.top.onfocus = ->
timer = timedCountUpdate()
@timedCountUpdate = () ->
timer = setTimeout(updateCountIndicator, 20000)
@updateCountIndicator = () ->
$('.indicator').html = 100
timedCountUpdate()
即使我不在已加载应用程序的选项卡中,我仍然会看到每 20 秒拨打一次电话。我正在用 chrome 进行测试。