Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何让我的facebook chrome扩展重复执行,而不是第一次加载?_Javascript_Jquery_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript 如何让我的facebook chrome扩展重复执行,而不是第一次加载?

Javascript 如何让我的facebook chrome扩展重复执行,而不是第一次加载?,javascript,jquery,google-chrome,google-chrome-extension,Javascript,Jquery,Google Chrome,Google Chrome Extension,我目前正在做我的第一个chrome扩展,它根据特定关键字的存在对HTML进行一些更改(过滤帖子)。但是,这只适用于第一次加载页面和单击扩展时,而不适用于加载更多故事时。我读到livequery有帮助,但出于某种原因,它也不起作用,可能被低估了 目前,我正在从后台脚本发送一条消息来执行过滤 content.js chrome.runtime.onMessage.addListener(function(message, sender, response){ if(message.type=="co

我目前正在做我的第一个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";
                        }

                    }
                }
            }
        }

}
chrome.runtime.onMessage.addListener(函数(消息、发送者、响应){
if(message.type==“color divs”){
var divs=document.getElementsByClassName(“userContent”);
var黑名单=[
“特朗普”
]

对于(var i=0;i请尝试创建事件侦听器。加载新内容后,事件将运行。

许多问题已经涉及到这一点。请参阅以下答案:使用MutationObserver非常有效。非常感谢。对于重复的问题,我深表歉意。