Firefox浏览器扩展开发原理
2018-12-08朱德平
朱德平
摘要:本文讲述了Firefox浏览器扩展开发的原理,包括扩展API、后台脚本与内容脚本、用户界面、配置、权限与管理等内容。并讲解了扩展开发的部分主要代码范例。
关键词:扩展;开发;基本原理;Firefox;浏览器
中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2018)08-0121-01
浏览器扩展的用途是为浏览器添加特性和功能。按用途大致分为三类:一是对浏览器本身的补充和增强。例如翻译、广告移除、网页剪切和批注、开发和调试辅助等。二是为某一个或一类网站提供附加的服务。例如购物比价、视音频地址解析及下载等。三是基于扩展的独立应用。例如待办事项和时间管理、网页小游戏等。本文首先讲述Firefox扩展开发的基本原理和部分主要代码范例。
1 基本原理
Firefox扩展开发基于常规的HTML、CSS和JavaScript技术,和开发网页所用的技术相同,另外添加了一组专用于扩展开发的技术特性,下面分别论述。
1.1 扩展API
Firefox为扩展提供了一组扩展API(WebExtensions API),作为扩展的运行时API,目前包含40余个功能模块,每个模块包含若干函数、属性、事件和类型,提供一类功能。具体包括访问和操纵浏览器的菜单、书签、剪切板、下载、历史、代理、cookies、本地存储功能;浏览器用户界面与扩展的绑定;权限和安全管理;扩展内部脚本、不同扩展、扩展与本地应用程序之间的通信;扩展安装、移除管理等。所有的扩展API都放在browser名字空间下,每个子模块在browser下又有自己的名字空间。扩展API中有许多异步函数,是基于Promise异步机制。WebExtensions API是跨浏览器的API,因此为Firefox开发的插件只需要进行少量修改,就可以在Google Chrome和Microsoft Edge中运行。……
