【发布时间】:2018-07-04 04:25:43
【问题描述】:
诚然,我对此有点陌生;我对 HTML/CSS 的了解比对 Javascript 的了解更多。我知道足以编写扩展程序,但我遇到了我认为可能特定于 Chrome 的问题。我不想太具体,但作为我扩展的一部分,我想从所有网页中删除样式。
这是我所拥有的:
manifest.json
{
"manifest_version": 2,
"name": "[redacted]",
"description": "[redacted]",
"version": "1.0",
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["script.js"],
"run_at": "document_start"
}
]
}
script.js
function lolxd() {
var hs = document.getElementsByTagName('style');
for (var i=0, max = hs.length; i < max; i++) {
hs[i].parentNode.removeChild(hs[i]);
}
window.onload = lolxd();
我尝试了多种不同的脚本,但都没有奏效。奇怪的是,扩展加载得很好,但是 Javascript 不起作用,我仍然可以在所有网页上看到样式。有什么帮助吗?
【问题讨论】:
-
看到这个 SO answer
-
这不起作用。根据最高回复,这似乎只影响应用于元素的样式,而不影响 CSS。
-
您可能想要这样做:window.addEventListener("load", lolxd, false);如果您不想覆盖其他 onload JS 逻辑