我想制作一个在页面加载后执行一些脚本的 chrome 扩展,我不确定我是否必须在后台页面上实现这个逻辑,或者它可以在其他任何地方,这里的任何帮助将不胜感激。
Chrome 扩展:让它在每个页面加载时运行
IT技术
javascript
google-chrome
google-chrome-extension
2021-02-14 06:26:28
4个回答
从后台脚本中,您可以侦听chrome.tabs.onUpdated
事件并检查changeInfo.status
回调的属性。它可以是正在加载或已完成。如果完成,请执行操作。
例子:
chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
if (changeInfo.status == 'complete') {
// do your things
}
})
因为这可能会在每个选项卡完成时触发,您还可以检查选项卡是否active
在其同名属性上,如下所示:
chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
if (changeInfo.status == 'complete' && tab.active) {
// do your things
}
})
如果它需要onload
在页面事件上运行,这意味着文档及其所有资产都已加载,则这需要嵌入在您希望跟踪的每个页面中的内容脚本中onload
。
您可以将脚本放入内容脚本中,请参阅
这段代码应该这样做:
清单文件.json
{
"name": "Alert 'hello world!' on page opening",
"version": "1.0",
"manifest_version": 2,
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": ["content.js"]
}
]
}
内容.js
alert('Hello world!')