AJAXBINGO - 给新手简单翻译了一下FF扩展开发的安装脚本格式文档 install.rdf

来源:百度文库 编辑:神马文学网 时间:2024/04/19 17:20:37

给新手简单翻译了一下FF扩展开发的安装脚本格式文档 install.rdf


Guya翻译的比较随便, 有需要的凑合着看吧. 主要是因为现在网上流行的中文文档太旧了. 呵呵!install.rdf 这个文件是FF扩展的一个必须的安装脚本. 里面定义了这个扩展的相关信息.
它也是一个RDF格式文件, 标准的模板文件就想下面这样:
------------------------ 此行不是文档的一部分 ------------------------


 
  
 


------------------------ 此行不是文档的一部分 ------------------------关于属性列表, 有两种模式可选. 一种是必须的属性, 就是必须指定的. 还有一种是可选的.
先看必须要设定的属性.属性: id (必须)
这个是扩展的唯一识别编号. 在 Firefox 1.0 版本及其以前. 这个ID是一个GUID,到 FF 1.5 的时候, 这个ID 也可以被指定为一个电子邮件格式地址. 比如: youEmailAccount@domain.com 这样.不过这种电子邮件格式的ID很容易被伪造或者容易冲突. 但是FF会在安装的时候检查你的ID是否有效. 无效的话 FF 会拒绝安装这个扩展.
示例代码片段:
youEmailAccount@domain.com
或者像下面的老式的ID
{daf44bf7-a45e-4450-979c-91cf07434c3d}属性: version (必须)
这个是扩展的版本信息. 格式比较复杂. Mozilla 的官方文档对此有详细的说明.
也有2个版本. 分为FF 1.0 的版本和 FF 1.5及其后面版本.
现在新的版本格式定义为 版本值有好几个部分组成. 由 "." (dot) 分开. 每部分是一个由数字和字符串组成的文本.
组成版本的每部分是由下面四部分按顺序组成的.
.
上面的四部分, 每部分都是可选的. 其中数字部分都是10进制为单位的, 可以为负数. 字符是ASCII码.
看看下面的版本信息例子:
1: 0 (等于 1.0 ): 分解后为: = 0.
2: 5a (等于 1.5a ): 分解后为: = 5, = a.
3: 5pre4 (等于 1.0 ): 分解后为: = 5, = pre, = 4.
4: * (等于 1.0.* ): 分解后为: = *
为了和以前的版本兼容. 还设置有些特别的规则.
1: 如果一个版本值的某一段只是一个"*" 号的话, 代表是一个无限大的数.
比如: 1.5.0.* 和 1.5.0.无限大 一样的效果.
2: 如果一个版本段的 是一个 "+" 的话. 则是一个可和FIREFOX的版本同增的意义.
比如: 1.0+ 和 1.1pre 一样的效果.
通常一般开发新的扩展用不上这些东西.
关于版本的比较, 参考下面的例子即可.
1.-1 < 1 == 1. == 1.0 == 1.0.0
1.-1 < 1.1a < 1.1aa < 1.1ab < 1.1b < 1.1c
1.-1 < 1.1pre == 1.1pre0 == 1.0+
1.-1 < 1.1pre1a < 1.1pre1aa < 1.1pre1b < 1.1pre1
1.-1 < 1.1pre2
1.-1 < 1.1pre10
1.-1 < 1.1.-1
1.-1 < 1.1 == 1.1.0 == 1.1.00
1.-1 < 1.10
1.-1 < 1.* < 1.*.1
1.-1 < 2.0
老版本的格式为([]里为可选部分):
major[.minor[.release[.build]]][+]示例代码片段:
1.0
要注意的是, FF 1.5 和 XULRunner 1.8 后不合法的版本信息是不允许安装扩展的.属性: type (必须)
这个是个整数型的东西了. 定义安装的类型. 通常扩展开发为 2. 其他的参考下面的列表:
2 Extensions  (扩展)
4 Themes (主题)
8 Locale (语言包)
32 Multiple Item Package (多项目包)
这个属性在FF1.5的时候被加入.
在FF2及其以前, 还有个 16 的值 代表 插件, 不过在 FF 3 的时候已经被取消了.
示例代码片段:
2属性: targetApplication (必须)
这个属性是比较重要的了. 指定扩展在那个目标应用程序里使用. 目标程序是通过该
属性里的ID子属性指定的. 特别的还有一个最小版本和最大版本要求设置. 可能很方便的
控制扩展能适用的目标程序版本. 通常的ID是不能变的. FF的为: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
在FF3(Gecko 1.9) 中可以用 toolkit@mozilla.org 代替 上面的GUID.
示例代码片段:

 
  {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
  1.5
  3.0.*
 

属性: name (必须)
扩展的名称, 这个UI里显示的名称. 当然要设定了.
示例代码片段:
My Extension----------------------------------------------------------------------------------------------
可选的属性属性: localized (可选)
在FF3 中允许你使用 localize 属性, 它允许你局部的定义扩展的属性. 但是它至少需要
一个子 em:locale  它可以包含 名称(name), 描述信息(description), 捐赠者(contributors)
等其他的一些信息.
示例代码片段:

 
    en-US
    App Name
    Description Information
 


localized可以加的属性有: name, description, creator, homepageURL, developer, translator, contributor 属性: description (可选)
对扩展的简短的介绍信息.
示例代码片段:
Description Information属性: creator (可选)
扩展负责人/团队或者创建者信息
示例代码片段:
Guya属性: developer (可选)
开发者列表, FF2及其后版本可用. 可以指定多个. 重复使用.
示例代码片段:
Guya
Mm属性: translator (可选)
翻译者列表, FF2及其后版本可用. 可以指定多个. 重复使用.
示例代码片段:
Guya
Mm属性: contributor (可选)
捐赠者列表, 可以指定多个. 重复使用.
示例代码片段:
Guya
Mm属性: homepageURL (可选)
扩展的主页地址URL
示例代码片段:
http://www.mmclub.net属性: updateURL (可选)
扩展的更新地址, 这个比较麻烦. 如果设置了这个东西, FF就更定期的更新
这个扩展, 官方推荐建议使用 HTTPS 协议保证安全性. FF3 对这个有特别要求.
具体参考官方文档. 还有较多的变量值.
示例代码片段:
http://www.mmclub.net/update.php?id=%ITEM_ID%&version=%ITEM_VERSION%属性: optionsURL (可选)
扩展的配置信息地址, 仅对扩展有用. 如果配置了此属性, 在FF 的附件软件里的扩展列表里, 那个选项按钮就
会变的可用了.
示例代码片段:
chrome://myext/content/options.xul属性: aboutURL (可选)
扩展的关于信息地址, 仅对扩展有用. 如果配置了此属性,
会更新FF默认的关于信息.
示例代码片段:
chrome://myext/content/about.xul属性: iconURL (可选)
扩展的ICON图标, 不设置则使用FF默认的ICON图标信息.
示例代码片段:
chrome://myext/skin/icon.png属性: hidden (可选)
是否设置扩展在FF的扩展列表里显示, 如果设置为TRUE的话则不显示.
示例代码片段:
true属性: hidden (可选)
是否设置扩展在FF的扩展列表里显示, 如果设置为TRUE的话则不显示.
示例代码片段:
true属性: requires (可选)
设置扩展的运行环境. 只允许设置 , ,
三个子属性.
示例代码片段:

 
  {e2fda1a4-762b-4020-b5ad-a41df1933103}
  0.5pre
  0.5pre
 

还有些其他的属性信息. 不过这些都几乎用不到了. 或者是已经被弃用的属性了. 具体的
请参考MDC官方文档了. 给出地址: https://developer.mozilla.org/en/Install_Manifests