2012-11-11 149 views
0

我试图根据实例来构建简单的扩展: from herehere
,我必须在这里做一些错误的。
所有我想要的是开始,每个页面加载(或加载之前甚至更好),它会弹出 你好警报Chrome扩展脚本注入到每一个打开的标签

的manifest.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"); 

即使在我触发开发人员控制台窗口时也没有错误。

回答

1

你的清单文件是无效的,有一个多余的逗号在"permissions"节的最后一个条目后:

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

如果你想你的脚本尽可能早地运行,使用"run_at": "document_start"代替"document_end"。然后,您的脚本将在<head><body>之前运行。

+0

感谢您的回答,当我的一些标签即时获取:无法加载资源 当我禁用分机,没有错误(只是为了确保它的延伸) – user63898

+1

@ user63898我不知道你在说什么关于。你的问题描述是模糊的,你的清单文件是杂乱无章的功能。你能澄清你的意图并阐述你遇到的问题吗? –

+0

我只是希望能够在每个页面上触发脚本(在这种情况下是简单的警报) 。清单取自示例脚本,我发现 – user63898

相关问题