菜鸟写的第一个chrome插件

一、新建一个文件夹,用来放插件的代码

二、首先新建配置文件manifest.json

 1 // 开发参考:http://open.chrome.360.cn/extension_dev/overview.html
 2 // 字段说明参考:http://open.chrome.360.cn/extension_dev/manifest.html
 3 {
 4   "name": "myTB Name", // 必填
 5   "version": "1.0", // 必填
 6   "description": "myTB ...",
 7   "permissions": [
 8     "tabs", "http://*/*", "https://*/*"
 9   ],
10
11   "browser_action": {
12       "default_title": "myTB title",
13       "default_icon": "20151225.jpg",
14       "default_popup": "popup.html"
15   },
16   "manifest_version": 2 // 必填 没有会报错:The ‘manifest_version‘ key must be present and set to 2 (without quotes). See developer.chrome.com/extensions/manifestVersion.html for details.
17 }

注意配置 manifest_version

三、其他代码

1、popup.html

 1 <!DOCTYPE html>
 2 <html lang="zh-CN">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 5     <meta charset="utf-8">
 6     <meta http-equiv="X-UA-Compatible" content="IE=edge">
 7     <meta name="viewport" content="width=device-width, initial-scale=1">
 8     <meta name="description" content="">
 9     <meta name="author" content="">
10     <title>myTB</title>
11 </head>
12 <body style="padding:0px; width:500px;" >
13     <input type="text" placeholder="请输入您想搜索的图片链接的关键词" id="imgUrlKey"/>
14     <input type="button" value="找找看" id="myBtn" />
15     <script src="jquery-1.8.1.min.js"></script>
16     <script src="popup.js"></script>
17 </body>
18 </html>

2、popup.js

1 chrome.tabs.executeScript(null, {file: "content.js"});
2 $(‘#myBtn‘).click(function(){
3     var _imgUrlKey = $(‘#imgUrlKey‘).val();
4     if(!_imgUrlKey){
5         alert(‘请先输入‘);
6         return;
7     }
8     chrome.tabs.executeScript(null, {code: "findImg(‘" + _imgUrlKey + "‘)"});
9 });

关键代码:chrome.tabs.executeScript(null, {file: "content.js"});

通过这个popup.js就可以调用content.js的方法。content.js可以操作处理淘宝页面的dom

3、content.js

function findImg(imgUrlKey){
    var imgs = document.querySelectorAll(‘img‘);
    if(!imgs && !imgs.length){
        return;
    }
    for(var i = 0, len = imgs.length; i < len; i++){
        var img = imgs[i];
        if(img.getAttribute(‘src‘).indexOf(imgUrlKey) > -1){
            img.style.border = ‘3px solid #440404‘;
        }
    }
}

四、代码结构

五、代码写得差不多了,开始装在浏览器进行调试。首先找到chrome的扩展

以上注意选择开发者模式

六、开始打包

以上操作会在chrome_exten目录下生成两个文件,如果修改了代码,需要重新打包时,需要在上图的第一步“私有秘钥文件(可选)”选择myTB.pem,并将myTB.crx删除再点击“打包扩展程序”

将扩展crx文件拖入以上界面

七、使用扩展

打开淘宝网页(注意,重新使用扩展时需要刷新依赖的网页),点击右上角的扩展图标

此时可通过控制台查看扩展插件的源码

可通过打断点在此调试

通过使用插件的搜索功能,淘宝页面上被搜到的图片被加了黑框

参考:

http://www.cnblogs.com/mfryf/p/3701801.html

时间: 2024-10-13 10:53:04

菜鸟写的第一个chrome插件的相关文章

动手做第一个Chrome插件

Chrome插件是令人惊讶的简单,一旦你弄懂它的工作和实现原理.它是由一部分HTML,一部分Js,然后混合了一个叫做manifest.json的Json文件组合而成的整体.这意味着你可以使用你最擅长的js框架去实现它. 如果你还是一个Chrome插件的新手并且想尝试写一个的话,下面的文章将会带领大家并且尝试让大家理解Chrome插件的工作机制.这篇文章将会讲述每一块架构,以及相互之间的联系和插件的一般化形式. 架构 Chrome插件中的文件大体上可以分成2部分:Chrome插件中确确实实存在的文

chrome 浏览器插件开发(一)—— 创建第一个chrome插件

最近在开发一个chrome插件,在网上找到了一些的文章,虽说按照文章可以写出对应的例子,但若要进行实际开发,发现还是有不少文章中没有的坑.下面我将结合我在开发过程中遇到的几个方面,对这些坑做一下补充. 如果你有前端开发的经验,那么你将可以很快开始你的chrome插件开发.chrome插件开发的主要内容仍然是“老三样”——HTML. CSS.javascript  不同的是执行环境与平时的浏览器略有不同,且有一些安全限制,还有插件开发中能用到一下chrome专门封装api 有哪些比较好的文档? 首

写个简单的chrome插件-京东商品历史价格查询

说chrome插件编写的先关文章, 首推小茗的[干货]Chrome插件(扩展)开发全攻略. 有非常完善的理论,引用和demo代码. 但是还是建议看官方的 chrome extensions. chrome 插件是什么,能做什么 增强浏览器功能,HTML.CSS.JS.图片等资源组成的一个.crx后缀的压缩包. 从界面到网络请求,到本地资源的交互,都是统统可以的. 比如: ColorZilla: 取色工具 Octotree: github 项目的右边导航 FeHelper: Web 前端助手, j

写的第一个jQuery插件----缓冲运动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

Chrome插件(Extensions)开发攻略

目录 为什么需要 为什么是Chrome 需要准备什么 如何开始 Page Action Chrome插件结构 学习资料 我的例子 调试 调试Content Scripts 调试Background 调试Popup 一些问题 总结 为什么需要 简单地说,浏览器插件,可以大大的扩展你的浏览器的功能.包括但不仅限于这些功能:捕捉特定网页的内容,捕捉HTTP报文,捕捉用户浏览动作,改变浏览器地址栏/起始页/书签/Tab等界面元素的行为,与别的站点通信,修改网页内容--给你增加许多想象空间,试想想看,你可

制作chrome插件

chrome插件制作 我一开始看网上教程的时候看的很懵,大家的chrome插件的教程都大多是给你个demo看看,看完了也不知道该怎么写自己想要的插件. 先推荐几个网址: http://www.ituring.com.cn/article/110929  图灵社区的比较正规.可以出书的chrome插件学习文档(推荐) http://open.chrome.360.cn/extension_dev/overview.html  360翻译的chrome插件手册(但是比较老,很久没更新) https:

使用Vuejs 开发chrome 插件的注意事项

chrome 插件的开发其实并不难,web开发者可以使用 html, css, javascript 轻松的开发实用的 chrome 插件. 一个好的 chrome 插件可以提高我们的开发效率,甚至方便我们的生活.例如 Vue-devtools ,是 Vuejs 的开发者不可或缺的利器,再如最常见的谷歌翻译插件,可以翻译整个网页中的英文内容,可以很方便的帮助我们查阅英文文档. chrome 插件使用前端技术开发,但是提供了一些高级的接口(文件操作,操作USB设备,系统信息等),所以可以开发出一些

试着开发chrome插件

我的第一个chrome插件,是app形式的 代码如下 创建一个文件: 1.manifest.json 1 { 2 "version": "1.0", 3 "manifest_version": 2, 4 "app":{ 5 "launch":{ 6 "web_url":"http://www.cnblogs.com/zzzzw" 7 }, 8 "urls&q

离线Chrome插件安装文件(crx)的安装方法

一.正常安装方法 1.开发谷歌浏览器,设置->扩展程序 在打开的谷歌浏览器的扩展管理器中用户可以看到一些已经安装程序的Chrome插件,或者一个Chrome插件也没有. 2.下载Chrome插件离线安装文件xxx.crx,执行安装 然后将其从资源管理器中拖动到Chrome的扩展管理界面中,这时候用户会发现在扩展管理器的中央部分中会多出一个[拖动以安装]的插件按钮. 松开鼠标就可以把当前正在拖动的插件安装到谷歌浏览器中去,但是谷歌考虑用户的安全隐私,在用户松开鼠标后可能会给予用户一个确认安装的提示