这与此帖类似,但我不知道如何在没有点击操作的情况下让它正常工作:
chrome extension : Stop loading the page on launch
我想创建一个不需要点击工作的Chrome扩展程序。所以我希望它在它们启动后的一定秒数后停止加载所有页面。
因此,如果安装了扩展程序并打开了新选项卡,页面将仅加载10秒钟,然后停止加载。
如何通过Chrome扩展程序在所有页面上停止X秒后加载页面?
答案 0 :(得分:1)
好吧,您链接到的问题使用Programmatic Injection添加内容脚本以停止加载。如果你有时只想要它,这很有效。
如果您希望始终使用内容脚本,define it in the manifest:
如果应始终注入内容脚本的代码,请使用
content_scripts
字段在扩展程序清单中注册它
"content_scripts" : [{
"matches": ["<all_urls>"],
"js": ["stop.js"],
"run_at": "document_start"
}],
通过这种方式,您知道stop.js
在页面加载开始时会与每个页面一起加载。然后你可以实现你的逻辑。死亡简单的解决方案:
// stop.js
setTimeout(() => {window.stop()}, 10000);
请注意,这会触发安装时权限警告“阅读并修改您访问的所有网站上的所有数据”,因为您无法再依赖"activeTab"
,而是在没有用户互动的情况下执行某些操作。
如果您希望在子帧中也发生这种情况,您可能还需要考虑将"all_frames": true
添加到内容脚本声明中。