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

时间:2017-02-13 08:55:51

标签: javascript jquery google-chrome google-chrome-extension

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

                    }
                }
            }
        }

}

});

1 个答案:

答案 0 :(得分:-1)

尝试制作一个事件监听器。加载新内容后,将运行该事件。