Mozilla Add-ons学习笔记(2)
来源:互联网 发布:网络直播涉黄40都是谁 编辑:程序博客网 时间:2024/05/01 09:02
上篇日志是Mozilla add-ons的介绍,这篇日志记录下Add-on当中Extension的开发,开个头慢慢写。
现在的Extension有三种不同的形式:
Add-on SDK Extensions(Jetpacks)
Bootstrapped Extensions
Traditional Extensions
其中Add-on SDK可以让初学者快速地开发Extension。而Bootstrapped Extensions则比Traditional Extensions更加高级。作为初学者,理所当然选择了Add-on SDK来开发Extension。
使用SDK开发Extension也有两种选择:Add-on Builder和本地开发。由于本地开发需要自己配置开发环境,并且不方便随时随地的开发,所以用Add-on Builder更方便。
进入如下地址:
https://builder.addons.mozilla.org/
注册一个账号,登陆后即可使用Add-on Builder。其开发界面如下:最上端一行主要是创建、搜索、文档、我的账号等功能和连接。下面的区域:左侧是工程目录,右侧是编辑区,编辑区上面是工具栏,分别有测试、下载、保存、复制、错误控制台、版本、设置等工具。其中工程目录中的Data比较重要,下文中的"data"就是指此目录。
在左侧的Libraries中药选择与当前浏览器版本相符的SDK版本并添加必要的第三方库。开发插件主要用JavaScript辅助以CSS和HTML等。开发好后点击保存,然后点击测试就可以在当前的浏览器上安装测试效果了。Add-on Builder和大多数IDE并无多大区别,十分容易上手,而且所有的代码是在线的,随时随地接入网络、打开Firefox浏览器就可以开发。使用Add-on Builder和Add-on SDK开发Extension,在main.js中写主要的脚本,主要脚本也叫Add-on Script,此外,还可以将一些脚本和API中提供的一些模块关联起来,使之成为该模块的Content Script。Content Script不能直接访问Add-on Script中的方法和对象,也不能直接和Add-on Script互相通信(需借助事件机制)。
下面是Add-on SDK 的API介绍,翻译和修改自官方的文档(将比较啰嗦的地方简化了)。官方的文档中并不只是针对Extension,所以下文也不单独针对Extension,但凡是提到addon的地方,都包含了Extension,且英文名词中不区分大小写、add-on等词可能省略中划线。1. Addon Kit
该部分的API提供了Extension中常用的一些模块,也是Add-on SDK的上层API。具体如下。
1.1. addon-page
这是一个测试性的API,以后可能会有更改。
var addontab = require("addon-page");var data = require("self").data;require("tabs").open(data.url("index.html"));
有时我们需要在addon中打开一个没有地址栏、搜索框、书签工具栏等导航元素的页面,比如addon的使用说明等。addon-page模块提供了一个简单的方法来获得一个没有导航元素的页面。用require()导入addon-page之后,通过"data/index.html"加载的页面将不会包含导航元素。这样做仅会影响"data/index.html"页面,对其他的页面没有影响。
【未完待续】
- Mozilla Add-ons学习笔记(2)
- Mozilla Add-ons学习笔记(1)
- [Android]Android Add-ons 学习笔记(Map API)
- ONS笔记
- Firefox Add-Ons
- Android Add-ons
- Firefox Add-ons
- Firefox Add-ons
- Mozilla Addons 学习笔记(3)
- Mozilla Addons学习笔记(4)
- 使用firefox 3.0:必安的add-ons(插件)
- fireFox 换背景图(add-ons)
- 使用QuickText Add-ons for Thunderbird
- Protocol Buffers: (9) Third Party Add ons
- Recommending Firefox add-ons with Spark
- LeetCode学习笔记[2]:Add Two Numbers
- Spring Modules - Modules, add-ons and integration tools for Spring
- 26 Essential Firefox Add-ons for Web Designers
- C#实现汉字自动转拼音码
- MFC中定时器的用法
- 【SQL Server学习笔记】SQL SERVER 视图
- POJ 3680 最小费用最大流
- Makefile学习之使用函数
- Mozilla Add-ons学习笔记(2)
- gnu下的arm汇编伪指令:.word说明
- 在Android的webview中定制js的alert,confirm和prompt对话框的方法
- POJ 3463 Sightseeing
- 《Thinking In Java》笔记(3)
- java学习_流操作
- rpm和deb
- 算法跟踪实践
- linux中inittab文件详解