Javascript 仅当选项卡处于活动状态时运行内容脚本循环
我正在开发一个chrome扩展,它使用内容脚本来运行循环。循环中运行的任务可能会消耗相当多的内存,当有许多打开的选项卡时,会影响浏览器性能 我希望仅在选项卡处于活动状态时运行循环 我正在使用Javascript 仅当选项卡处于活动状态时运行内容脚本循环,javascript,google-chrome,google-chrome-extension,tabs,Javascript,Google Chrome,Google Chrome Extension,Tabs,我正在开发一个chrome扩展,它使用内容脚本来运行循环。循环中运行的任务可能会消耗相当多的内存,当有许多打开的选项卡时,会影响浏览器性能 我希望仅在选项卡处于活动状态时运行循环 我正在使用onMessage.addListenermy background page,然后我可以从内容脚本中sendMessage,并对照chrome.tabs.getSelected查看sender.tab.id。但由于sendMessage是异步的,因此我不得不使用setInterval进行“is tab ac
onMessage.addListener
my background page,然后我可以从内容脚本中sendMessage
,并对照chrome.tabs.getSelected查看sender.tab.id
。但由于sendMessage是异步的,因此我不得不使用setInterval
进行“is tab active”检查,以更新允许循环运行或不运行的变量
有没有更好的方法可以从内容脚本中确定选项卡是否处于活动状态?请查看,我想检查一下
if (document.visibilityState === "hidden")
我能解决你的问题
我不确定您在循环中做了什么,如果只是为了检测选项卡状态,您也可以使用visibilitychange事件侦听器
document.addEventListener("visibilitychange", function () {
if (document.hidden) {
//...
}
}, false);