chrome 插件学习
2016-01-13
chrome插件开发
最近一直做淘宝天猫抓取,各种问题,最后采用插件的方式抓取数据,下面就来介绍一下chrome插件的开发。
插件开发目录
-js
-css
-lib
-background.js
-manifest.json
-content_script.js
-popup.html
-popup.js
chrome插件开发第一步就是配置mainfest.json
{
"manifest_version": 2,//一般建议写2
"name": "我的应用",// app
"version": "版本字符串", //v 1.0.0
"permissions":[]//这个很重要,这个是开启一些权限的比如storage,tabs,fileSystem等等
"background": {
"scripts": ["jquery.js","background.js"]
},//一般叫background.js
"content_scripts": [{
"matches": ["https://*.taobao.com/*","https://*.tmall.com/*", "http://item.jd.com/*"],
"js": ["jquery.js","myscript.js"]
}],//content_scripts
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
}
数据交流
chrome插件中background,content_script, popup ,server4个部分之间如何数据交流?看下图

其中可以看出background是重要的,这个相当于一个数据交流的中心。popup其实可以用chrome.extension.getBackgroundPage()获取background,所以他可以获取background上所有的东西,concontent_script和background通过sendMessage来通讯,整个chrome插件通过background来和server数据交流。
代码
写代码的话基本js吧,popup是你的插件交互用的界面,会用一些html,css之类的饿,基本上js就可以写好了,如果可以话 angularjs来做也可以,这里有个例子
$ git clone git://github.com/GoogleChrome/chrome-app-codelab.git
还要注意chrome给的一些api,比如上面的sendMessage,getBackgroundPage。等等
可以看这个网站,中文的很好
https://crxdoc-zh.appspot.com/apps/about_apps