分享

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

 Tom5 2009-06-19

给新手简单翻译了一下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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多