2017-02-13 39 views
0

我目前正在製作我的第一個Chrome擴展,它根據特定關鍵字的存在進行了一些HTML更改(過濾器帖子)。然而,這只是第一次加載頁面,並且點擊了擴展,而不是在加載更多的故事時。我讀了livequery的幫助,但由於某種原因,這也無濟於事,可能會貶值。如何讓我的facebook的擴展名重複執行,而不僅僅是第一次加載?

目前,我從後臺腳本發送消息來執行過濾。

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

看到這個答案:[是否有JavaScript/jQuery DOM更改偵聽器?](// stackoverflow.com/a/39508954) – Makyen

+0

使用MutationObserver完美運行。非常感謝。對不起,重複的問題。 –

回答

-1

嘗試製作事件偵聽器。加載新內容時,會運行該事件。

相關問題