0

私は例に従って単純な拡張機能を構築しようとしました: ここここ
から 、そして私はここで何か間違ったことをしているに違いありません。
私が欲しいのは、各読み込みページで(または読み込み前にさらに良い)それがhelloアラートをポップアップすることを開始することです

マニフェスト.json

{
   "background": {
      "page": "background.html"
   },
   "content_scripts": [
    {
      "matches": ["http://*/*","https://*/*"],       
      "js": ["jquery-1.8.2.min.js","contentscript.js"],
      "run_at": "document_end"
    }
   ],
   "web_accessible_resources": [
    "script_inpage.js"
   ],
   "browser_action": {

      "default_popup": "popup.html",
      "default_title": "Test 123"
   },
   "content_security_policy": "script-src 'self'; media-src *; object-src 'self'",
   "description": "Simple Test 123.",

   "manifest_version": 2,
   "minimum_chrome_version": "18",
   "name": "Test 123",
   "permissions": [ 
        "unlimitedStorage",
        "http://*/",
        "tabs",
   ],

   "version": "2.6"
}

background.htmlは今のところ空です

contentscript.js:

var s = document.createElement('script');
s.src = chrome.extension.getURL('script_inpage.js');
(document.head||document.documentElement).appendChild(s);
s.onload = function() {
    s.parentNode.removeChild(s);
};

script_inpage.js:

alert("this is script");

開発者コンソールウィンドウをトリガーしてもエラーは発生しません。

4

1 に答える 1

1

マニフェストファイルが無効です。"permissions"セクションの最後のエントリの後に余分なカンマがあります。

"permissions": [ 
    "unlimitedStorage",
    "http://*/",
    "tabs", // <-- Remove that comma
],

スクリプトをできるだけ早く実行したい場合は、"run_at": "document_start"の代わりにを使用してください"document_end"。そうすれば、スクリプトは以前に実行され<head><body>存在することさえあります。

于 2012-11-11T14:29:00.067 に答える