版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28295425/article/details/81272286
工作中遇到了谷歌浏览器插件编写,就边学边写,周末就看了书 Chrome扩展及应用开发,前面讲了基础知识,因为在网上看到一篇博客讲的很好
https://www.cnblogs.com/liuxianan/p/chrome-plugin-develop.html
有些地方遇到了问题
localStorage
这个是基于域的,我当时想把获取的东西存入没成功,同事跟我讲这个是基于域的,不同域当然就获取不到了。我就在想怎么实现,backgroud是一直运行的,他的域是谷歌插件加上插件id的。那么我把记录的存到后台就可以了。content_script发过去存储就行了。
还有插件编写修改后直接 ctrl+r就可以刷新
调试插件:
插件 那有个背景页,这个是调试 background的
popup的调试是右键图表弹出,或者直接网页审查元素的。
注入的js记住是注入到网页的,东西一刷新又会重新注入了。我就在这个地方吃亏了。。。
其他的好好看上面的链接博文和那本书就可以了。
接下来是我写的一个小demo 哈哈哈哈
种子搜索
选中番号右键选择种子搜索,选择用哪个搜索
主要是先添加右键菜单的权限
"contextMenus"
还有 允许跨域访问的搜索的网站
配置
{
"manifest_version": 2,
"name": "右键种子",
"version": "1.0",
"description": "选择番号右键进行种子搜索",
"browser_action": {
"default_icon": "images/icon.png",
"default_title": "右键种子"
},
"background": {
"scripts": [
"js/background.js"
]
},
"icons": {
"16": "images/icon16.png"
},
"permissions": [
"https://www.sojson.com/open/api/weather/json.shtml?city=*",
"https://www.btbook.cc/search/*",
"https://m.zhongziso.com/list/*",
"https://www.btrabbit.la/search/",
"contextMenus"
]
}
然后就是backgroud.js了
chrome.contextMenus.create({
id:'a',
type: 'normal',
title: '种子搜索',
contexts:['selection']
});
chrome.contextMenus.create({
parentId:'a',
type: 'normal',
title: 'BTBOOK搜索',
contexts:['selection'],
onclick: search_btbook
});
chrome.contextMenus.create({
parentId:'a',
type: 'normal',
title: '种子帝搜索',
contexts:['selection'],
onclick: search_zhongziso
});
chrome.contextMenus.create({
parentId:'a',
type: 'normal',
title: 'BTRabbit搜索',
contexts:['selection'],
onclick: search_btrabbit
});
function search_btbook(info,tab){
var number = info.selectionText;
var url = "https://www.btbook.cc/search/"+number+"-time-1.html";
window.open(url);
}
function search_zhongziso(info,tab){
var number = info.selectionText;
var url = "https://m.zhongziso.com/list/"+number+"/1";
window.open(url);
}
function search_btrabbit(info,tab){
var number = info.selectionText;
var url = "https://www.btrabbit.la/search/"+number+".html"
window.open(url);
}
当然还有图片,就实现了,是不是简单~
这本书后面部分就在讲一个应用开发了,浏览器插件真的很强大。
之后有需要有想法在继续深入学习吧。