2012-07-18 86 views
27

我想基本上使元素熒光筆鉻擴展。 工作流程: - 點擊瀏覽器圖標 - 點擊 在頁面上 - hightlight元素點擊鉻擴展插入內容腳本瀏覽器動作

我有使用manifest_version在瀏覽器操作運行的內容腳本的煩惱:2 當我檢查出現的彈出它說:

拒絕,因爲它違反了以下 內容安全策略指令執行內嵌腳本:「腳本的src‘自我’ 鉻擴展資源:」(popup.html:5)。

這也正是在popup.html內嵌腳本和腳本不起作用

我:

manifest.json的:

{ 
    "browser_action": { 
     "default_icon": "images/icon.gif", 
     "default_popup": "popup.html" 
    }, 
    "manifest_version": 2, 
    "description": "MEH!", 
    "name": "My First Extension", 
    "permissions": [ 
     "tabs", "http://*/*", "https://*/*" 
    ], 
    "version": "0.1" 
} 

popup.html:

<html> 
    <head> 
    </head> 
    <body> 
    <script> 
     chrome.tabs.executeScript(null,{ 
     code:"document.body.style.backgroundColor='red'" 
     }); 
    </script> 
    <div id='msg' style="width:300px">...</div> 
    </body> 
</html> 

任何幫助將非常讚賞ED

+0

[Chrome擴展的可能的複製彈出不工作,單擊事件不處理](http://stackoverflow.com/questions/17601615/the-chrome-extension-popup-is-not-working-click - 事件不處理) – Makyen 2016-11-29 00:39:59

回答

44

原來我無法正確讀取錯誤,直到我看到它在這裏

顯然清單V2不允許你有內嵌腳本,所以你只需要

src="path_to_the_file.js" 
+3

對於那些仍然沒有得到答案,請參閱http://stackoverflow.com/a/17612988/938089 – 2013-07-15 09:19:41

+1

你在哪裏把src?這個答案不清楚。身體內部有 – Doug 2014-02-13 07:03:47

+0

。因此,不要插入,您應該在頁面的HTML內部插入一個腳本,該腳本指向一個文件,即(如HEAD內部或what-不) – Stefan 2014-08-28 10:45:13

0

在延伸to @ tak3r的回答和@ Doug的評論:

內聯腳本需要更改爲外部腳本。

移動:

<script> 
    chrome.tabs.executeScript(null,{ 
    code:"document.body.style.backgroundColor='red'" 
    }); 
</script> 

到一個新文件名爲main.js並刪除<script></script>標籤

在HTML的<head></head>以下

<script type="text/javascript" src="main.js"></script> 
相關問題