2012-09-27 65 views
1

我想從外部服務器加載JS,以便我的擴展可以更新和開發,而無需更新鉻擴展。這是我當前清單:如何在Google Chrome擴展中加載外部content_script?

{ 
    "name": "Test", 
    "version": "1.0", 
    "manifest_version": 2, 
    "description": "Test extension", 
    "content_security_policy": "script-src 'self' https://test.dev77.net/; object-src 'self'", 
    "content_scripts": [ 
    { 
     "matches": ["http://google.com"], 
     "js": ["https://test.dev77.net/test.js"] 
    } 
    ] 
} 

我得到試圖安裝擴展時,以下幾點:

無法載入內容指令碼的javascript「https://test.dev77.net/test.js」 。

+0

相關/可能的重複:[Chrome擴展添加外部JavaScript到當前頁面的HTML](http://stackoverflow.com/questions/10285886/chrome-extension-adding-external-javascript-to-current-pages-html/ 10371025#10371025)(問題的措辭不同,但答案完全適用於您的問題)。 –

回答

2

首先,我建議你不要這樣做。每次將您的擴展程序上傳到Chrome網上應用店最好。你可以做你的擴展autoupdateable,所以用戶將擁有最新版本的allways。

說,你知道擴展不支持外部js。有一個安全原因。例如,Chrome網上應用店將掃描上傳的擴展名以搜索惡意軟件。如果js發生變化,他們就不會這樣做。

但是,有一種解決方法。您的擴展代碼可以使用Ajax加載js,然後「評估」它。

另一種方法是在用戶頁面中插入腳本標籤來加載js文件。然後你執行它(這很棘手,因爲孤立的世界事物,但Google解釋瞭如何在Chrome擴展頁面中完成此操作)。

+0

這兩種方法是否仍然允許您使用通過Chrome擴展獲得的跨站點腳本支持? – Joren

相關問題