13

グーグルマップを使いたいグーグルクローム拡張機能を作っています。問題は、スクリプトを実行すると、このエラーが発生することです。

Refused to load script from 'https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXXXXXXXX&sensor=false' because of Content-Security-Policy.

これが私のマニフェストファイルです

{
  "name": "Name",
  "version": "1.0",
  "manifest_version": 2,
  "background": { 
    "scripts": [
      "js/script.js"
    ] 
  },
  "description": "Desc",
  "browser_action": {
    "default_icon": "images/icon.png",
    "default_title": "Title",
    "default_popup": "html/popup.html"
  },
  "permissions": [ 
    "http://*/",
    "http://*.google.com/",
    "http://localhost/*"
  ],
  "content_security_policy": "script-src 'self' http://google.com; object-src 'self'"

}

そして、私はこのようなスクリプトを追加しています

<script src="../js/libs/jquery.js"></script>
  <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXXXXXX&sensor=false"></script>
  <script src="../js/plugins/easing.js"></script>
  <script src="../js/script.js"></script>

なぜ何度もそのエラーが発生するのですか?助けてください...

1つ更新する

マニフェストファイルにこれらの2つの権限を追加しましたが、まだ機能していません

"https://maps.google.com/*",
"https://maps.googleapis.com/*",

2つ更新

私もこの種のcontent_security_policyを使用しました

"content_security_policy": "default-src 'none'; style-src 'self'; script-src 'self'; connect-src https://maps.googleapis.com; img-src https://maps.google.com"

しかし、上記は私にとってもうまくいきません

4

3 に答える 3

27

ここでの問題は、Google マップ URL のコンテンツ セキュリティ ポリシーが正しく設定されていないことだと思います。マニフェスト ファイルの「content_security_policy」を次のように変更する必要があります。

"content_security_policy": "script-src 'self' https://maps.googleapis.com https://maps.gstatic.com; object-src 'self'"

これは単に、自分/現在のページと「https://maps.googleapis.com」からスクリプトを実行できることを意味します。

これを試して、それが役立つかどうかを確認してください。

于 2012-11-05T11:14:47.673 に答える
2

同じ問題があり、API URL を http から https バージョンに置き換えることで解決しました。

HTML の場合:

<script type='text/javascript' src='http://maps.google.com/maps/api/js?v=3.3&sensor=false'></script>

に:

<script type='text/javascript' src='https://maps-api-ssl.google.com/maps/api/js?v=3.3&sensor=false'></script>

次に、 https: //maps-api-ssl.google.com を manifest.json の CPS に追加しました。

この情報がまだ必要かどうかはわかりません。しかし、私はグーグルで時間を費やしていましたが、直接的な答えを見つけることができなかったので、誰かの助けになることを願ってここに書きました.

于 2014-04-08T07:05:17.317 に答える