作者:圆季 | 来源:互联网 | 2023-09-25 10:11
firefoxextension参考:http:developer.mozilla.orgenextensions目录结构:chrome.mainfest 定义整个扩展
firefox extension
参考:http://developer.mozilla.org/en/extensions
目录结构:
chrome.mainfest // 定义整个扩展的目录结构
install.rdf // 定义扩展的id,名称等等信息
chrome/
chrome/content/ // 定义扩展界面(.xul文件),定义扩展界面实现功能的逻辑(.js文件)
chrome/skin/ // 定义扩展界面上用到的图片,属性风格,皮肤文件等(.css,.ico,.png)
chrome/locale/
chrome/locale/en-us/ // 定义翻译字符串(.dtd文件),属性翻译字符串(.properties文件)
chrome/locale/zh-cn/ // 定义翻译字符串(.dtd文件),属性翻译字符串(.properties文件)
defaults/
defaults/preferences/ // 定义需要保存的信息默认值(.js文件)
components/ // 定义扩展逻辑用的方法接口(.xpt, .dll文件)
安装扩展:
将上面目录结构的文件打包成.zip文件,然后改后缀为.xpi,拖到firefox界面上就会弹出安装界面安装就可以了
chrome.mainfest详读
// 示例代码详解
# 在前面加"#"表示注释
# 注册chrome.manifest
# 指定将要读取的修改内容的路径,后面必须带"/" 可以修改toolbars, menu bars, progress bars,
# and window title bars are all examples of elements that are typically part of the chrome
content my_extension_name chrome/content/
# 指定将要加载的皮肤路径,后面必须带"/"
skin my_extension_name classic/1.0 chrome/skin/
# 指定将要读取的语言路径,后面必须带"/"
locale my_extension_name en-us chrome/locale/en-us/
locale my_extension_name zh-cn chrome/locale/zh-cn/
# 将后面的文件添加到前面的文件里
overlay chrome://browser/content/browser.xul chrome://my_extension_name /content/statusbaroverlay.xul
# 都是可选参数
# style chrome://uri-to-style chrome://stylesheet-uri [flags]
# override chrome://package/type/original-uri.whatever new-resolved-uri [flags]
# resource aliasname uri/to/files/ [flags]
# application = app-id
# appversion 操作符 version (操作符为"=", "<", ">", "<=", ">=")
# os = winnt(操作系统)
# osversion >= 10.5
# platform格式如下:
# content global-platform jar:toolkit.jar!/toolkit/content/global-platform/ platform
install.rdf详读
参考:http://developer.mozilla.org/en/building_an_extension
// 下面的参数是必须要添加的
// 当前平台下生成的guid
// 由"."连接的数字
// 指定的数字.
// 2代表extensions,4代表themes,8代表locale,32代表multiple item package
// 指定这个扩展是为那个应用程序使用的
// 格式如下: 指定的应用程序的guid;
// ,分别为应用程序的最小最大版本号
//
//
// {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
// 1.5
// 2.0.0.*
//
//
// 显示在应用程序界面上的扩展名称
// 下面的参数是可选择添加的
// 描述该扩展的功能
// 创始人
// 主页
// 更新主页
//
//
//
// 开发者
// 翻译者
// 捐助者
// 目标程序的系统平台
// 集中显示一些扩展的信息
// 指定将来用那种语言来显示信息(必要),在使用了后用
// 例子:
{69354808-f0d7-40cc-bb5f-8c1b8f57cecc}
0.91
2
statusbar settor
// 目标程序为firfox
{ec8030f7-c20a-464f-9b0e-13a3a9e97384} //firefox的guid
1.5
2.0.0.*
// 添加可选的信息
// federico parodi
// stefano verna
// nils maier
// federico parodi
// stefano verna
// nils maier
// chrome://dta/content/about/about.xul
// chrome://dta/skin/common/icon.png
// http://downthemall.net/
// chrome://dta/content/preferences/prefs.xul
chrome 详解:
1 chrome/content/
content这个文件夹里的文件类型主要包括.js和.xul两种
.xul文件主要用来实现界面布局的,当然也可以实现简单的逻辑操作,建议所有逻辑都放到相应的.js里去处理,下面给出实例代码statusbaroverlay.xul:
// 定义xul中用到的多语言字符串
// 所有的.xul文件都要加的项,id可以随便设置的
//申明要用到的.js文件
//申明要用到的属性多语言字符串
//添加xul元素到firefox界面上
//相关xul元素特性请查看xul教程
//参考:http://developer.mozilla.org/en/xul_tutorial