把您的应用程序建立成这个样子:
/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 文件:
chrome.manifest 以指向 applicationName.jar:
content applicationName jar:applicationName.jar!/jar: 协议告诉 XULRunner 这是一个 jar 文件, 文件名后的 ! 告诉它在 jar 文件内部查找.
现在所有的前期工作已经完成了, 马上就可以运行您的应用程序了. 在你 下载 XULRunner 之后, 仅需要一条命令行语句:
xulrunner application.ini您的 startPage.xul 将在新的窗口里打开, 就像其它的桌面应用程序一样.
为了让一个 XUL 应用程序工作于 XUL Runner, 您需要 3 个不同格式的配置文件. 这些确实是非常杂乱. 公平起见, chrome.manifest
格式有些用在 Firefox 扩展里, 所以重用这些功能性是十分可行的, 不过需要在 prefs.js
里确切说明您的开始页面. 这儿有一些其它 XUL
应用程序包 方法的提案, 不过它显得有些陈旧了,
并且没有代码的支持.
当你想要避免使用 Firefox 的时候, 一个基于 XULRunner 的应用程序看起来是个不错的解决方案. 我希望避免使用 Firefox 是因为程序的外观, 不过一般来说我没有看到太多超越编写一个扩展的优势, 它仅仅是一个可替换的选择.
优点: