3

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を使用しています)

ありがとう!

4

1 に答える 1

3

localhostCSP値に追加する機能は、Chrome 23にあるChromiumリビジョン151470によって有効になりました(現在は開発チャネルにあり、まもなくベータチャネルになります)。

于 2012-09-29T22:32:21.377 に答える