我想制作一个chrome扩展程序,在加载一个页面后执行一些脚本,我不确定是否必须在后台页面上实现此逻辑,或者它可以在其他任何地方,这里的任何帮助将不胜感激。
答案 0 :(得分:67)
从background script您可以收听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
}
})
,如下所示:
{{1}}
答案 1 :(得分:46)
如果需要在页面的onload
事件上运行,意味着文档及其所有资产已加载,则需要在每个页面中嵌入content script,以便您希望跟踪onload
。
答案 2 :(得分:38)
您可以将脚本放入内容脚本中,参见
答案 3 :(得分:1)
此代码应执行以下操作:
manifest.json
{
"name": "Alert 'hello world!' on page opening",
"version": "1.0",
"manifest_version": 2,
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": ["content.js"]
}
]
}
content.js
alert('Hello world!')