安装包结构

XULRunner应用,扩展,主题 都共享共同的目录结构,在某些情况下,一些包能被作于独立的XULRunner应用,就像一个可安装应用扩展。

 

包的基本结构

一个包可能包含下面的文件:

/install.rdf             扩展/主题安装manifest

/application.ini      应用启动Manifest

/components/*     组件及XPT文件            (>=1.7)

/defaults/preferences/*.js 默认首选项     (>=1.7)

/plugins/*             NPAPI扩展                  (>=1.8)

/chrome.manifest  Chrome注册Manifest  (>=1.8)

/chrome/icons/default/* 窗口图标            (>=1.8)

 

当然,一个扩展不需(通常没有)包含所有这些目录。由于安全原因主题有限,仅仅通常提供一个chrome.manifest来注册主题及一个JAR文件。

 

平台特定子目录

有些情况下,一个单一扩展或应用可能希望包含多平台的二进制组件或插件,或主题作者可能希望包含多平台相关的JAR文件。为了满足这些情况,扩展/应用装载有特定平台特定文件子目录(从Toolkit/Gecko 1.8, Firefox/Thunderbird 1.5开始)。平台字符串在toolkit编译时定义成组合操作系统,处理器结构及编译器的特有值。平台字符串的格式是:

{OS_TARGET}_{TARGET_XPCOM_ABI}

 

所有文件从主目录装载

/platform/{platform string}

 

比如,插件商想提供一个Linux,Macintosh,及windows的计算机客户,将提供下面的文件:

/platform/Linux_x86-gcc3/plugins/libMyPlugin.so
/platform/WINNT_x86-msvc/plugins/MyPlugin.dll
/platform/Darwin_ppc-gcc3/plugins/libMyPlugin.dylib

 

由于XPT文件是平台无关的,任何相关的XPT文件将放在一般的组件目录中:

/components/MyPlugin.xpt

 

如果一个扩展有非二进制平台相关代码(如使用了windows注册表脚本的代码),它也能使用操作系统表示作为平台子目录:

/platform/WINNT/components/registerDoctype.js

 

当用到平台相关的JAR文件 ,每个平台目录将有自己的chrome.manifest文件:

chrome.manifest
chrome/mytheme-base.jar
platform/Darwin/chrome.manifest
platform/Darwin/chrome/mytheme-mac.jar
platform/WINNT/chrome.manifest
platform/WINNT/chrome/mytheme-win.jar
应用/扩展装载器先处理基本目录,接着合适平台目录(先/{OS_TARGET}/, 然后 
/{OS_TARGET}_{TARGET_XPCOM_ABI}/)。当默认首选项在多个子目录定义了,后来装载的覆盖前面的。
应用特定扩展文件除了上面列的扩展文件之外,应用可能从扩展读附加的文件。如,Firefox 1.5以上将读
Sherlock search插件从
/searchplugins/*.src
Firefox 2以上将额外读取MozSearch 和 OpenSearch插件从
/searchplugins/*.xml
及Myspell目录从
/dictionaries/*.{aff|dic}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值