我正在启动一个Chrome扩展程序,以隐藏和修改网站页面上的某些内容。
目前的代码非常简单:
manifest.json
{
"name":"External",
"description":"Adapted content",
"version":"1",
"manifest_version":2,
"content_scripts": [
{
"matches": ["https://www.mywebsite.com/*"],
"run_at": "document_idle",
"all_frames": true,
"js": ["test_chrome.js"]
}
]
}
还有我的JS:
test_chrome.js
element = document.querySelector('div.bidder');
element.remove();
当我加载页面时,div仍然在这里,但是当我在Chrome控制台中输入两行JS时,就可以按照我的意愿删除div。
加载页面时,我在控制台中收到以下错误:
未捕获到的TypeError:无法在test_chrome.js:2处读取null的属性“删除”
(匿名)@ test_chrome.js:2
我实际上设法删除带有扩展名的页面的页眉或包装器,但是我无法删除带有扩展名的任何其他div(尽管它在控制台中有效)。 我已经尝试过更改run_at属性,但是没有使我的代码正常工作。
有什么想法吗?
谢谢
答案 0 :(得分:0)
为什么不尝试类似的东西:
let x = setInterval(()=>{
element = document.querySelector('div.bidder');
if (element) {
element.remove()
clearInterval(x);
}
}, 3000);
并从头开始运行,而不是结束或空闲。