2012-09-28 66 views
2

我正在使用Chrome擴展程序,並希望從localhost加載用於開發的腳本。所以,我更新清單文件有以下行:爲什麼Chrome瀏覽器不能通過允許本地主機的內容安全策略加載擴展?

"content_security_policy": "script-src 'self' http://localhost; object-src 'self'", 

據對Content Security Policy的文檔,這是完全正常使用localhost127.0.0.1沒有https

不過,我得到以下的(辱罵)的錯誤信息,當我嘗試從chrome://chrome/extensions/加載擴展:

無法加載從「/用戶/添/桌面/溫度/測試」的延伸。 'content_security_policy'的值無效:必須指定'script-src'和'object-src'指令(明確地或通過'default-src'隱式指定),並且都必須僅列出安全資源白名單。您可以包含以下任何來源:「'self'」,「'unsafe-eval'」,「http://127.0.0.1」,「http:// localhost」或任何「https://」或「chrome-extension://」原點。欲瞭解更多信息,請參閱http://developer.chrome.com/extensions/contentSecurityPolicy.html

爲了證實這個問題,你可以用下面的manifest.json文件中創建一個空目錄:

{ 
    "name": "Example extension", 
    "description": "Trying to demonstrate a bug in Chrome", 
    "version": "0.1", 
    "homepage_url": "http://example.com", 
    "content_security_policy": "script-src 'self' http://localhost; object-src 'self'", 

    "manifest_version": 2 
} 

並加載目錄爲正在開發的擴展。你應該得到錯誤。如果您刪除http://localhost或將其更改爲https://localhost,則它將正常加載。

我錯過了什麼嗎?

(注:我使用的是Chrome 22.0.1229.79)

謝謝!

+0

看來這個例子在Chrome Canary(24.0.1280.0)中運行良好,所以我猜這是一個已修復的錯誤,最終會來到「普通」的Chrome。 –

回答

3

localhost添加到CSP值的功能已啓用Chromium revision 151470,該功能位於Chrome 23(目前位於開發通道中,即將處於測試版通道中)。

+0

感謝您的確認!我想問題是,文檔和錯誤信息超前他們的時間,造成我的困惑。在此期間,我只是在https上提供我的文件:)(它只是用於開發目的) –

相關問題