我已经找到了一个解决方案,可以在加载此页面后立即删除网页内容。
最简单的清单是:
{
"manifest_version": 2,
"name": "Remove WebPage",
"description": "Remove WebPage",
"version": "0.2",
"content_scripts": [
{
"matches": ["http://www.webdomain.net/*"],
"js": ["myscript.js"]
}
],
"permissions": [
"tabs",
"http://*/",
"https://*/"
]
}
并且myscript.js
文件是
document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false);
function fireContentLoadedEvent () {
document.body.textContent = "No data anymore";
}
看起来很简单,但这不起作用。
答案 0 :(得分:0)
默认情况下,您的脚本会在 DOMContentLoaded
触发后执行。因此,永远不会触发您的事件处理程序。
答案 1 :(得分:0)
正如Xan已经指出的那样,你的代码运行得太晚了。
您案例中的实际解决方案应为:
1)将"run_at": "document_end"
添加到您的清单中,如下所示:
"content_scripts": [
{
"matches": ...,
"js": ...,
"run_at": "document_end"
}
]
2)移除document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false);
并使用fireContentLoadedEvent()
直接调用您的函数,或者将您的代码完全移出函数。