1

マニフェストで:

{
"manifest_version": 2,
"version": "0.1",
"name": "test",
"description": "test",
"content_scripts": [
{
    "matches": ["http://www.roblox.com/*", "https://www.roblox.com/*"],
    "js": ["jquery.js", "ecyInject.js"]
},
{
    "matches": ["http://www.roblox.com/Economy"],
    "js": ["jquery.js", "ecyPage.js"]
}
],

"permissions": [
    "notifications", "tabs", "http://www.roblox.com/"
],

"background": {
    "page": "main.html"
}
}

次に、これが「main.html」です。

<html>
<head>
    <script src="jquery.js"></script>
    <script src="Services.js"></script>
    <script>
        chrome.tabs.create({url:("http://www.google.com/")});
    </script>
</head>

<body>

</body>
</html>

www.google.com のホームページが開かないのはなぜですか? 拡張機能の残りの部分は機能しますが、機能しないのは「chrome.tabs.create」部分だけです。私の拡張機能にはタブのアクセス許可がありますが、何が問題なのかわかりません。

編集

「次のコンテンツ セキュリティ ポリシー ディレクティブに違反しているため、インライン スクリプトの実行を拒否しました: "script-src 'self' chrome-extension-resource:".」

とにかくそれを防ぐために、そのエラーを見ましたか?^^^^

4

1 に答える 1

0

Chrome拡張機能は、拡張機能内にない、またはリソースとしてリストされているスクリプトを取得することは許可されていません(多少紛らわしいと述べられているエラーのとおり)。CSP(コンテンツセキュリティポリシー)は、この動作を変更するために定義できるものです。デフォルトは次のようになります。

"content_security_policy": "script-src'self' chrome-extension-resource:; object-src'self'"、

あなたはおそらくこのようなものが欲しいでしょう:

"content_security_policy": "script-src'self' chrome-extension-resource:http ://www.google.com ; object-src'self'"、

その行をmanifest.jsonに貼り付けます:-)

その他の例はここにあります

于 2013-01-31T23:47:55.737 に答える