Chrome拡張機能に取り組んでおり、localhost
開発用にからスクリプトをロードしたいと考えていました。そこで、マニフェストファイルを次の行に更新しました。
"content_security_policy": "script-src 'self' http://localhost; object-src 'self'",
コンテンツセキュリティポリシーに関するドキュメントによると、を使用するlocalhost
かどうか127.0.0.1
にかかわらず、まったく問題ありませんhttps
。
ただし、次の場所から拡張機能を読み込もうとすると、次の(挑発的な)エラーメッセージが表示されますchrome://chrome/extensions/
。
'/ Users / Tim / Desktop / temp/test'から拡張機能を読み込めませんでした。'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を使用しています)
ありがとう!