我目前正在制作我的第一个Chrome扩展程序,根据特定关键字的存在进行一些HTML更改(过滤帖子)。然而,这仅适用于第一次加载页面,并且单击了扩展名,而不是在加载更多故事时。我读到livequery有帮助,但由于某种原因,它也无法正常工作,也许它已被折旧。
目前,我正在从后台脚本发送一条消息来执行过滤。
content.js
chrome.runtime.onMessage.addListener(function(message, sender, response){
if(message.type=="color-divs"){
var divs = document.getElementsByClassName("userContent");
var blacklist = [
"Trump"
]
for(var i=0; i<blacklist.length; i++){
for(var j=0; j<divs.length; j++){
var ps = divs[j].getElementsByTagName('p');
var p = ps[0];
if(p.innerHTML.indexOf(blacklist[i]) != -1 ){
alert("lol");
var parent = divs[j].parentNode;
for(var k = 0; k<parent.childNodes.length; k++){
alert(parent.childNodes[k].className);
if (parent.childNodes[k].className == "_5x46") {
parent.childNodes[k].style.opacity = "0.0";
}
if (parent.childNodes[k].className == "_5pbx userContent") {
parent.childNodes[k].style.backgroundColor = "black";
}
if (parent.childNodes[k].className == "_3x-2") {
parent.childNodes[k].style.opacity = "0.0";
}
}
}
}
}
}
});
答案 0 :(得分:-1)
尝试制作一个事件监听器。加载新内容后,将运行该事件。