我正在参加「掘金·启航计划」
一、功能介绍
1.0、图片抓取功能
使用jquery技术从网站获取图片连接,从而在当前选中图片上定位插件搜索按钮,获取当前图片连接传到图片搜索接口中。获取与图片相符合的商品。
1.1、淘宝、天猫商品加入购物车功能
动态往淘宝、天猫商品详情里添加预购按钮,获取店铺名称、价格、图片、订单号等数据。
1.2、插件购物车数据同步提交到购物网站里,实现最终期望功能。
1.3、登录、语言切换、网站绑定功能
二、技术分析
2.0、项目中使用jquery技术,大量用到元素的定位、注入、查找相关方法。小部分有用到promise
三、项目结构分析
3.1、css文件夹主要存放样式文件。
3.2、js文件夹是项目的主要文件,其中popup.js background.js文件为必须文件
3.3、manifest.json文件,这是一个Chrome插件最重要也是必不可少的文件,用来配置所有和插件相关的配置,必须放在根目录。其中,manifest_version、name、version3个是必不可少的
3.4、content_scripts Chrome插件中向页面注入脚本,js文件顺序引入,引入css文件时要注意自己的变量名是否可能与网页中类名相同,造成样式冲突
3.5、options_ui,配置插件以外的页面,可以根据连接直接跳转进入
3.6、background.js,这个文件相当于插件的后台,调试时要点开插件的背景页调试
3.7、popup,popup是点击browser_action或者page_action图标时打开的一个小窗口网页,焦点离开网页就立即关闭,一般用来做一些临时性的交互。对应的文件件为popup.js popup.html,在manifest.json中配置默认文件
3.8、search.js 图片搜索功能的页面都在这个js文件里
3.9、fanyi.js 插件翻译文件,根据固定class类,例如:’.fanyi’ , 查找替换文本内容
3.10、页面通信(长连接通讯),在想要通讯的子页面中定义一个通道,在background.js使用chrome.extension.onConnect.addListener()监听,使用port.postMessage()返回响应数据