我正在编写一个webapp,它每隔一分钟左右执行一次操作(很简单地)挂起浏览器。当显示webapp的选项卡未显示时,我想暂停此操作,以尽量减少烦恼。有没有办法在最新版本的Firefox下使用Javascript?
编辑澄清一下,我问的是如何确定运行某些JS代码的选项卡的可见性 - 而不是如何暂停/恢复挂起浏览器的操作。< / p>
答案 0 :(得分:7)
var isFocused = true;
window.onblur=function(){
if(isFocused==true){
isFocused=false;
}
}
window.onfocus = function(){
isFocused = true;
}
现在,您每分钟或每两分钟执行的操作仅在isFocused为真时执行。这就是您的页面/网络应用程序选项卡的重点。
答案 1 :(得分:2)
未经测试,但是如何:
window.onblur() = function () {
... pause your script here
}
我不知道Firefox是否将选项卡中的窗口模糊处理为单独的窗口。
答案 2 :(得分:1)
我相信你需要处理window.onblur事件,因为出于安全原因禁止从网页中的脚本访问浏览器窗口(仅允许特权脚本)。
Mozilla Developer Center中描述了您要执行的操作(从子窗口或网页中访问浏览器窗口),但它确实提到只有特权脚本可以执行此操作,您可能您尝试时会收到“预先拒绝”错误。