zhengrenzhe's blog   About

Chrome extensions开发-1

最近学习了下chrome extensions的开发,个人感觉很简单,说简单点就是一个webapp+chrome api构成的一个crx文件(经chrome打包后)。但初学上手还是有一定难度。这个难度并不是说开发怎么难或怎么难理解,难就难在文档不太好看。有一批360浏览器的工程师翻译了google devlopers里面的chrome extensions文档,也算是业界良心了一回。不过现在看来其文档有些老旧,条理也不够清晰,而且加上了一点360的东西,让人觉得不舒服,不过入门来说还是不错的。此乃传送门!

在后面几篇文章中我会详细的讲解chrome extensions的开发流程,在结合最新版本的开发文档时加入自己的理解,也算是总结了学习过程的种种经验。

什么是chrome extensions?

chrome extensions是一种小的软件程序,它可以增强或修改chrome浏览器的功能。也就是这个界面里的东西:chrome-extensions 我开发的扩展也露脸了。如果你使用chrome,那你应该安装使用过扩展程序,也就是chrome extensions。也许你会注意到,有些extensions在浏览器地址栏的右边显示图标,有些在地址栏里显示图标,有些干脆不显示图标。这是extensions的两种形态:browser action和page action。但前面不是说有三种extensions么?其实这跟你的定义有关,你可以让browser action不显示图标等。。诸如此类的情况,所以extensions还是分为两大类page 和 browser。那么两者在功能上有何区别呢? 区别就是page action是针对于特定页面或网站的,browser action是针对于所有页面或网站的。当然你也可以不定义page或browser。

Chrome extensions开发语言,工具。

chrome extensions本质上就是一个webapp,只是通过工具把它打包成了一个chrone能识别的压缩文件而已。所用到的语言也是web开发中使用的语言: html,css,javascript,以及任何你需要的资源文件,图像,音频,视频等。你可以使用任意文本编辑器来开发extensions。如何在卡发中进行调试呢? chrome有开发者模式,当你开发过程中想要调试时不用先打包,再安装。直接使用开发者模式中的’加载正在开发的扩展程序’加载extensions文件夹就行了,还可以实时更新。

chrome-extensions

Chrome extensions能干什么?

chrome extensions本质上是webapp,但是他可以使用chrome提供的api,来做到普通webapp做不到的事。chrome所提供的api涵盖了绝大部分的交互行为,例如它可以获取所有标签页的数据,更改新标签页的url而不被发现(有些流氓插件就是这么干的),拦截,屏蔽页面的指定内容,发送通知等。你可以用chrome提供的api开发一个流氓插件,流氓程度可以比360还流氓。也可以来开发提升用户感受的插件,api的权限比较大,关键看你用来做什么。

从下一篇开始详细分析Chrome extensions的开发方法。

← 快速排序  Chrome extensions开发-2 →