firemail

标题: XULRunner tutorial [打印本页]

作者: hechengjin    时间: 2016-4-25 11:54
标题: XULRunner tutorial
http://blog.chinaunix.net/uid-20345151-id-1701663.html
XULRunner是一个单独的“gecko运行时”安装包,可用于启动多种如同 Firefox 和 Thunderbird 一样丰富的 XUL+XPCOM 应 用程序。它提供了安装、升级和反安装这些应用程序的机制。XULRunner 还将提供 libxul,这个解决方案允许把Mozilla技术嵌入到其它项目 和产品中。

下面是正文...
依照惯例, 斜体字为变量, 可以被替换为您的应用程序的有意义值.
建立您的文件结构

把您的应用程序建立成这个样子:

/applicationName
/chrome
/applicationName
your app files
chrome.manifest
/defaults
/preferences
prefs.js
application.ini事实上有更复杂的方法来做到这点, 不过在这儿一个简单的骨架也许足够了. 接下来开始建立配置文件.建立您的 application.ini

XULRunner 工作时读取 application.ini 文件, 然后在特定的目录下查找和载入程序. 这儿是一个示范的 application.ini:

[App]
Vendor=company
Name=applicationName
Version=0.1
BuildID=20050506

[Gecko]
MinVersion=1.8
MaxVersion=1.8重要的部分是 [Gecko] 区段. [App] 区段看起来似乎很重要, 但其实并没有提供任何必要的功能. 而 [Gecko] 部分告诉  XULRunner 您的应用程序使用的是什么版本的 Gecko 引擎, 并且少了这几行 XULRunner 就无法运行.建立您的 prefs.js

这是一个您设置初始值首选项文件, 或者 gecko 引擎设置或者应用程序特殊设置. 我们在这需要的就是:

pref("toolkit.defaultChromeURI", "chrome://applicationName/content/startPage.xul");这个 startPage 是您希望最初显示的 XUL 页面.建立您的 chrome.manifest

这个文件履行 chrome:// url 和您的应用程序之间的映射:

content applicationName file:applicationName/它实际上告诉 XULRunner 当遇到一个 chrome://applicationName/content/ URL 的时候在 chrome 目录里检查 applicationName/.

大多数我所见到的 XUL 应用程序都是以 .jar 文件发布的, 而不是所有文件分步在 chrome/ 子目录的形式. 未压缩的程序方便于开发, 不过当您想配置它为一个 jar 文件:

通过 XULRunner 运行您的应用程序

现在所有的前期工作已经完成了, 马上就可以运行您的应用程序了. 在你 下载 XULRunner 之后, 仅需要一条命令行语句:

xulrunner application.ini您的 startPage.xul 将在新的窗口里打开, 就像其它的桌面应用程序一样.结论

为了让一个 XUL 应用程序工作于 XUL Runner, 您需要 3 个不同格式的配置文件. 这些确实是非常杂乱. 公平起见, chrome.manifest 格式有些用在 Firefox 扩展里, 所以重用这些功能性是十分可行的, 不过需要在 prefs.js里确切说明您的开始页面. 这儿有一些其它 XUL 应用程序包 方法的提案, 不过它显得有些陈旧了, 并且没有代码的支持.

当你想要避免使用 Firefox 的时候, 一个基于 XULRunner 的应用程序看起来是个不错的解决方案. 我希望避免使用 Firefox 是因为程序的外观, 不过一般来说我没有看到太多超越编写一个扩展的优势, 它仅仅是一个可替换的选择.
优点:

缺点:





欢迎光临 firemail (http://www.firemail.wang:8088/) Powered by Discuz! X3