我是初学者,正在为Chrome编写扩展程序,而我正在解决一些任务来学习。
当我更改当前标签的标签和/或网址时,我想提醒任何。为了测试,我在清单文件中添加了以下行:
"background_page": "background.html",
"permissions": [
//"activeTab",
"tabs"
//"http://*/*",
//"https://*/*",
//"https://secure.flickr.com/"
],
但在 chrome://extensions
页面中显示
'background_page'要求清单版本为1或更低。
完整的manifest.json:
{
"manifest_version": 2,
"name": "Remove unwanted adds",
"description": "This extension prevents your browser to load adds.",
"version": "1.0",
//"background": {
// "scripts": [ "background.js" ]
//},
"content_scripts": [
{
"matches": [ /*"localhost/dental/frontend/patient/signin"*/ "http://someurl" ], // change this to 192.168.5.20/login.html
//"css": [ "mystyles.css" ],
"js": [ /*"jquery.js", "myscript.js"*/ "mainscript.js" ]
}
],
"background_page": "background.html",
"permissions": [
//"activeTab",
//"background",
//"clipboardRead",
//"clipboardWrite",
//"storage",
"tabs"
//"http://*/*",
//"https://*/*",
//"https://secure.flickr.com/"
],
"browser_action": {
//"default_icon": "img/icon.png",
"default_popup": "popup.html"
}
}
我也试过这种方法(source):
"content_scripts": [
{
"matches": [ /*"localhost/dental/frontend/patient/signin"*/ "http://someurl" ],
//"css": [ "mystyles.css" ],
"js": [ /*"jquery.js", "myscript.js"*/ "mainscript.js" ]
}
],
在 mainscript.js 中我只写了这一行:
alert("navigated!");
我不知道,但当我导航到那个 someurl 时,这个也没有用。
所以, 1)我的代码出了什么问题 2)解决这个任务的最佳方法是什么?
感谢。
答案 0 :(得分:2)
你不能在json文件中有评论。 Json文件仅用于数据
答案 1 :(得分:1)
1) 的' BACKGROUND_PAGE'要求清单版本为1或更低。
要解决导致此消息的问题,您的清单(就后台页面而言)应如下所示(source):
{
"name": "My extension",
...
"background": {
"page": "background.html"
},
...
}
关于名为 mainscript.js未执行的内容脚本,我首先会尝试更改匹配以涵盖所有网址:
"matches": [ "<all_urls>" ]
如果内容脚本开始工作,那么使用提到的here规则构建一个满足您需求的模式。
2)我建议您查看chrome.tabs API,特别是onCreated,onUpdated和onSelectionChanged事件。