开发FireFox浏览器扩展(Extension)并实现与原生应用之间的消息传递

一、什么是插件(Plug-in),什么是扩展(Extension)。

插件指的是在页面HTML源代码里通过<object> 或者 <embed> 标签声明的部分,工作在内核层面的一种扩展技术,与浏览器无关,理论上可以用任何一种生成本地可执行文件的语言开发,比如C/C++、Delphi、VB、VS.Net等等,目前主流的浏览器插件技术主要有以下几种:

  1. ActiveX,由Microsoft提出,仅Internet Explorer(IE)浏览器支持,微软最新的Edge浏览器不再支持ActiveX技术。
  2. NPAPI(Netscape Plugin API),由Netscape提出,FireFox、Chrome等非IE浏览器基本都支持该项技术,不过后来因为安全性问题,Chrome从45版本之后放弃了对NPAPI的支持另搞了一套PPAPI技术,FireFox从53版本开始也放弃了对NPAPI的支持,据说Chrome的开源版本Chromium还可以用,不管怎么样这种技术的淘汰只是时间的问题。
  3. PPAPI(Pepper Plugin API),是 Google 在原有网景 NPAPI基础上搞的,它将插件放到沙盒里运行,所以具有更高的安全性。 目前只有 Chrome 浏览器及基于 Chromium 内核的浏览器支持。

扩展指的是利用浏览器提供的API来扩展浏览器功能的一种组件,工作在浏览器层面,通常使用HTML + Javascript 语言开发,与浏览器相关,与页面的HTML源代码无关。因此插件与扩展实质是两种不同的东西。

好了,废话不多说,下面进入FireFox浏览器扩展开发的详细介绍。

二、manifest.json

首先使用记事本一类的文本编辑器新建一个文本文件,然后在文件中输入以下内容后另存为manifest.json。

{
	"description":"Firefox extension demo description",
	"name": "Firefox extension demo",	
	"manifest_version":2,  
	"version":"1.0",
	"icons":{"48": "ICONS/ICON_48.png","64": "ICONS/ICON_64.png"},
	"applications":{"gecko":{"id": "demo@demo.com","strict_min_version": "50.0"}},
	"background":{"scripts":["background.js"]},
	"browser_action":{"default_icon":{"48": "ICONS/ICON_48.png"}}, 
	"permissions":["nativeMessaging"]
}

manifest.json是扩展的配置文件,主要作用是向FireFox浏览器说明扩展的名称、介绍、图标路径、版本、浏览器版本、后台脚本等基本信息。其中:

"name":扩展的名称,必须项。

"manifest_version" :manifest版本,必须项,且目前值必须为2。

"version":当前扩展的版本,必须项。

"icons":图标列表,可选项,它由图像大小(以px为单位)的键值对以及相对于manifest.json文件所在目录的图像路径组

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值