我正在尝试开发一个 Chrome 浏览器扩展程序,它可以在上下文菜单上执行有趣的操作。问题是,我无法在 manifest.json content_scripts 中加载 JS 文件。
我没有收到错误,文件根本无法加载。
这些脚本很好,如果我把它们放在我的背景页面中,它们就会通过该背景页面正常触发。其缺点是它仅限于背景页面。
{
"name": "Mini",
"description": "Mini",
"permissions": ["contextMenus","management","contentSettings","tabs","http://*/*","https://*/*","editable"],
"version": "0.1",
"manifest_version": 1,
"background_page": "mini.html",
"icons" : {"16" : "mini.png"},
"contexts" : ["link","tab","page"],
"content_scripts": [{"matches":["<all_urls>"],"js":["jquery172min.js","mini.js"]}]
}
我尝试了所有形式的匹配,包括“http://\*/\*”、“https://\*/\*”、“\*://\*/\” *”
我试过空格,没有空格。我在这里画了一个空白。
如有任何帮助,我们将不胜感激。
$(document).ready(function () {
alert("page is ready");
},true);
对此我深表歉意。这是我用来测试扩展是否已加载的 javascript/Jquery 的副本。这只是一个简单的警报。
最佳答案
Content scripts无法使用 chrome.contextMenus
API(其实这些只能用 some of the chrome.extension
methods )。
可以申请match patterns到各个菜单项,通过 chrome.contextMenus.create({title: 'Test', documentUrlPatterns: 'http://*/*'});
.
创建的菜单项也可以修改 ( chrome.contextMenus.update
) 和删除 ( chrome.contextMenus.remove
)。
要在内容脚本和后台页面之间进行通信,请参阅 Message passing .
关于google-chrome-extension - Chrome内容脚本不加载JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10403240/