我想在Chrome浏览器页面完全加载后查看内容 像那样
if(document.body.innerText.indexOf("Cat") !=-1)
我可以在何时何地进行检查?请给我一个明确的例子 我读了一些关于“Background.html”和“内容脚本”但我不能做的事情
答案 0 :(得分:52)
"run_at": "document_idle"
处的{p> Register a content script in the manifest file(这是默认设置)并将您的代码放在内容脚本文件中。然后,当页面准备就绪时,将运行脚本。
如果要从后台页面检测页面是否已完全加载,请使用chrome.webNavigation.onCompleted
事件并执行任何操作,例如调用chrome.tabs.executeScript
执行内容脚本。如果URL列表是动态的,或者无法使用match pattern语法描述URL模式,则此方法可能比以前的方法更有用。
chrome.webNavigation.onCompleted.addListener(function(details) {
chrome.tabs.executeScript(details.tabId, {
code: ' if (document.body.innerText.indexOf("Cat") !=-1) {' +
' alert("Cat not found!");' +
' }'
});
}, {
url: [{
// Runs on example.com, example.net, but also example.foo.com
hostContains: '.example.'
}],
});
必须在manifest.json
中设置webNavigation
和主机权限,例如:
{
"name": "Test",
"version": "1.0",
"background": { "scripts": ["background.js"] },
"permissions": [ "webNavigation", "*://*/*" ],
"manifest_version": 2
}