Mar*_*ark 5 javascript tabs google-chrome google-chrome-extension
我正在开发一个使用内容脚本运行循环的 chrome 扩展。在循环中运行的任务会消耗相当多的内存,并且当有很多打开的选项卡时,它会影响浏览器的性能。
我希望仅在选项卡处于活动状态时运行循环。
我使用onMessage.addListener我的背景页面,那么我就可以sendMessage从内容脚本,并检查sender.tab.id对chrome.tabs.getSelected。但由于 sendMessage 是异步的,我被迫使用setInterval“是否处于活动状态”检查来更新允许循环运行与否的变量。
有没有更好的方法可以从内容脚本中查找选项卡是否处于活动状态?
看看Page Visibility API,我想检查一下
if (document.visibilityState === "hidden")
Run Code Online (Sandbox Code Playgroud)
可以解决你的问题。
而且我不确定您在循环中做了什么,如果只是为了检测选项卡状态,您也可以改用visibilitychange 事件侦听器。
document.addEventListener("visibilitychange", function () {
if (document.hidden) {
//...
}
}, false);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1160 次 |
| 最近记录: |