给新手简单翻译了一下FF扩展开发的安装脚本格式文档 install.rdf翻译的比较随便, 有需要的凑合着看吧. 主要是因为现在网上流行的中文文档太旧了. 呵呵!
install.rdf 这个文件是FF扩展的一个必须的安装脚本. 里面定义了这个扩展的相关信息.
它也是一个RDF格式文件, 标准的模板文件就想下面这样: ------------------------ 此行不是文档的一部分 ------------------------ <?xml version="1.0"?> <RDF xmlns="http://www./1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <Description about="urn:mozilla:install-manifest"> <!-- properties 这里放置属性列表 --> </Description> </RDF> ------------------------ 此行不是文档的一部分 ------------------------ 关于属性列表, 有两种模式可选. 一种是必须的属性, 就是必须指定的. 还有一种是可选的.
先看必须要设定的属性. 属性: id (必须)
这个是扩展的唯一识别编号. 在 Firefox 1.0 版本及其以前. 这个ID是一个GUID,到 FF 1.5 的时候, 这个ID 也可以被指定为一个电子邮件格式地址. 比如: youEmailAccount@domain.com 这样.不过这种电子邮件格式的ID很容易被伪造或者容易冲突. 但是FF会在安装的时候检查你的ID是否有效. 无效的话 FF 会拒绝安装这个扩展. 示例代码片段: <em:id>youEmailAccount@domain.com</em:id> 或者像下面的老式的ID <em:id>{daf44bf7-a45e-4450-979c-91cf07434c3d}</em:id> 属性: version (必须)
这个是扩展的版本信息. 格式比较复杂. Mozilla 的官方文档对此有详细的说明. 也有2个版本. 分为FF 1.0 的版本和 FF 1.5及其后面版本. 现在新的版本格式定义为 版本值有好几个部分组成. 由 "." (dot) 分开. 每部分是一个由数字和字符串组成的文本. 组成版本的每部分是由下面四部分按顺序组成的. <number-a><string-b><number-c><string-d>. 上面的四部分, 每部分都是可选的. 其中数字部分都是10进制为单位的, 可以为负数. 字符是ASCII码. 看看下面的版本信息例子: 1: 0 (等于 1.0 ): 分解后为: <number-a> = 0. 2: 5a (等于 1.5a ): 分解后为: <number-a> = 5, <string-b> = a. 3: 5pre4 (等于 1.0 ): 分解后为: <number-a> = 5, <string-b> = pre, <number-c> = 4. 4: * (等于 1.0.* ): 分解后为: <string-b> = * 为了和以前的版本兼容. 还设置有些特别的规则. 1: 如果一个版本值的某一段只是一个"*" 号的话, 代表是一个无限大的数. 比如: 1.5.0.* 和 1.5.0.无限大 一样的效果. 2: 如果一个版本段的 <string-b> 是一个 "+" 的话. <number-a> 则是一个可和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]]][+] 示例代码片段:
<em:version>1.0</em:version> 要注意的是, FF 1.5 和 XULRunner 1.8 后不合法的版本信息是不允许安装扩展的. 属性: type (必须)
这个是个整数型的东西了. 定义安装的类型. 通常扩展开发为 2. 其他的参考下面的列表: 2 Extensions (扩展) 4 Themes (主题) 8 Locale (语言包) 32 Multiple Item Package (多项目包) 这个属性在FF1.5的时候被加入. 在FF2及其以前, 还有个 16 的值 代表 插件, 不过在 FF 3 的时候已经被取消了. 示例代码片段: <em:type>2</em:type> 属性: targetApplication (必须)
这个属性是比较重要的了. 指定扩展在那个目标应用程序里使用. 目标程序是通过该 属性里的ID子属性指定的. 特别的还有一个最小版本和最大版本要求设置. 可能很方便的 控制扩展能适用的目标程序版本. 通常的ID是不能变的. FF的为: {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 在FF3(Gecko 1.9) 中可以用 toolkit@mozilla.org 代替 上面的GUID. 示例代码片段: <em:targetApplication> <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>1.5</em:minVersion> <em:maxVersion>3.0.*</em:maxVersion> </Description> </em:targetApplication> 属性: name (必须)
扩展的名称, 这个UI里显示的名称. 当然要设定了. 示例代码片段: <em:name>My Extension</em:name> ----------------------------------------------------------------------------------------------
可选的属性 属性: localized (可选)
在FF3 中允许你使用 localize 属性, 它允许你局部的定义扩展的属性. 但是它至少需要 一个子 em:locale 它可以包含 名称(name), 描述信息(description), 捐赠者(contributors) 等其他的一些信息. 示例代码片段: <em:localized> <Description> <em:locale>en-US</em:locale> <em:name>App Name</em:name> <em:description>Description Information</em:description> </Description> </em:localized> localized可以加的属性有: name, description, creator, homepageURL, developer, translator, contributor 属性: description (可选)
对扩展的简短的介绍信息. 示例代码片段: <em:description>Description Information</em:description> 属性: creator (可选)
扩展负责人/团队或者创建者信息 示例代码片段: <em:creator>Guya</em:creator> 属性: developer (可选)
开发者列表, FF2及其后版本可用. 可以指定多个. 重复使用. 示例代码片段: <em:developer>Guya</em:developer> <em:developer>Mm</em:developer> 属性: translator (可选)
翻译者列表, FF2及其后版本可用. 可以指定多个. 重复使用. 示例代码片段: <em:translator>Guya</em:translator> <em:translator>Mm</em:translator> 属性: contributor (可选)
捐赠者列表, 可以指定多个. 重复使用. 示例代码片段: <em:contributor>Guya</em:contributor> <em:contributor>Mm</em:contributor> 属性: homepageURL (可选)
扩展的主页地址URL 示例代码片段: <em:homepageURL>http://www.</em:homepageURL> 属性: updateURL (可选)
扩展的更新地址, 这个比较麻烦. 如果设置了这个东西, FF就更定期的更新 这个扩展, 官方推荐建议使用 HTTPS 协议保证安全性. FF3 对这个有特别要求. 具体参考官方文档. 还有较多的变量值. 示例代码片段: <em:updateURL>http://www./update.php?id=%ITEM_ID%&version=%ITEM_VERSION%</em:updateURL> 属性: optionsURL (可选)
扩展的配置信息地址, 仅对扩展有用. 如果配置了此属性, 在FF 的附件软件里的扩展列表里, 那个选项按钮就 会变的可用了. 示例代码片段: <em:optionsURL>chrome://myext/content/options.xul</em:optionsURL> 属性: aboutURL (可选)
扩展的关于信息地址, 仅对扩展有用. 如果配置了此属性, 会更新FF默认的关于信息. 示例代码片段: <em:aboutURL>chrome://myext/content/about.xul</em:aboutURL> 属性: iconURL (可选)
扩展的ICON图标, 不设置则使用FF默认的ICON图标信息. 示例代码片段: <em:iconURL>chrome://myext/skin/icon.png</em:iconURL> 属性: hidden (可选)
是否设置扩展在FF的扩展列表里显示, 如果设置为TRUE的话则不显示. 示例代码片段: <em:hidden>true</em:hidden> 属性: hidden (可选)
是否设置扩展在FF的扩展列表里显示, 如果设置为TRUE的话则不显示. 示例代码片段: <em:hidden>true</em:hidden> 属性: requires (可选)
设置扩展的运行环境. 只允许设置 <em:id>, <em:minVersion>, <em:maxVersion> 三个子属性. 示例代码片段: <em:requires> <Description> <em:id>{e2fda1a4-762b-4020-b5ad-a41df1933103}</em:id> <em:minVersion>0.5pre</em:minVersion> <em:maxVersion>0.5pre</em:maxVersion> </Description> </em:requires> 还有些其他的属性信息. 不过这些都几乎用不到了. 或者是已经被弃用的属性了. 具体的
请参考MDC官方文档了. 给出地址: https://developer.mozilla.org/en/Install_Manifests |
|