基于Ajax技术的Chrome扩展开发

2011-12-31 00:00:00于志良
电脑知识与技术 2011年27期


  摘要:Chrome 浏览器高安全性的沙盒技术、多进程技术、隐身模式、快速高效的浏览体验吸引了大量用户。Chrome扩展可以提升用户体验,乃至解决一些使用过程中遇到的实际问题。不同于Firefox基于XUL的扩展界面开发,Chrome基于HTML的扩展开发方式极大地方便了开发人员。该文以一个天气预报的Chrome扩展作为例,介绍了Chrome扩展的开发流程,并结合Ajax技术增强了特性。
  关键词:Chrome;Ajax;浏览器;扩展
  中图分类号:TP393文献标识码:A 文章编号:1009-3044(2011)27-6685-03
  1 Google Chrome扩展
  Chrome 浏览器是 Google 公司于2008年9月3日推出的自有品牌浏览器,是一个基于 BSD许可证的开放源代码项目,包括另外2个开放源代码项目:WebKit网页渲染系统和非常快速的V8 JavaScript引擎。Chrome 的主要特点是高安全性的沙盒技术、多进程技术、隐身模式、快速高效的浏览体验,多进程(Multi-process)模式的浏览器在打开多个标签页时任务管理器中会有多个相同的Chrome.exe进程,某个标签页的崩溃不会影响到其他的标签页(除非主进程崩溃)。上述优点使Chrome浏览器成为了Microsoft IE的重要对手[1]。
  Chrome扩展是一个包括HTML文档、CSS、Javascript、图片以及其它文件在内的zip压缩包,为浏览器添加某些功能,其本质其实是web页面,可以使用浏览器所提供的所有操作web页面的API,包括XMLHttpRequest和JSON等等[2]。
  不同于Firefox的扩展界面通过XUL来开发,Chrome将扩展抽象成和网页内容一个层次,在Chrome 扩展中做界面,其UI 实际上是一个网页,业务逻辑也等同于网页开发,编写各种HTML、CSS、JavaScript,可以利用现成的各种开放库资源,如JQuery。
  Chrome扩展UI分为browser actions和page actions两类,任何Chrome扩展最多只能选择其一。其目录结构为:1)一个manifest文件(