2014-04-04 69 views
0

我正在試驗Chrome插件。我試圖在html頁面上找到所有<p>標籤,並更改這些標籤的font-family/size/color。基本上我只是在試驗這個。如何使用Chrome擴展/插件訪問HTML元素?

這是我到目前爲止所做的。

A. manifest.json的

{ 
    "name": "ABC XYZ", 
    "description": "La la la...", 
    "version": "1", 
    "browser_action": { 
     "default_title": "ABC", 
     "default_icon": { 
      "19": "icons/logo.png" 
     }, 
     "default_popup": "mydefault.html" 
    }, 
    "manifest_version": 2 
} 

B. mydefault.html

<html> 

<head> 
    <script src="jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("#do-magic").click(function() { 
       // do something here with the page html. 
       // change font-family 
       $("body").append("test"); 
      }); 
     }); 
    </script> 
</head> 

<body> 
    <span id="do-magic">Start</span> 
</body> 

</html> 

當包裝,並加載到鉻這部作品除了click事件在那裏我試圖訪問該頁面元素。

enter image description here

單擊事件不起作用。沒有任何東西會在控制檯上打印

請指教。

+0

不,我不明白你的意思嗎?它出現在mydefault.html頁面中,當您單擊chrome上的擴展按鈕時將打開該頁面。從那以後它就在DOM上。 – Yasser

+0

嘗試在''後面寫''看看發生了什麼! –

回答

1

根據內容安全策略,您不能在Chrome擴展中使用內嵌腳本。這就是爲什麼你的代碼沒有得到執行。

您必須將其移動到單獨的文件中。見here

+0

將檢查該方向。謝謝 – Yasser

+0

你也應該知道你可能在錯誤的控制檯中尋找錯誤/輸出。您需要右鍵單擊該按鈕並選擇「檢查彈出窗口」以訪問正確的控制檯。 – Xan