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.iniXULRunner 工作时读取 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 文件:
- Zip 格式压缩您的 /chrome/applicationName 目录, 将 applicationName.zip 放置到 /chrome 目录.
- 重命名 applicationName.zip 为 applicationName.jar
- 修改 chrome.manifest 以指向 applicationName.jar:content applicationName jar:applicationName.jar!/jar: 协议告诉 XULRunner 这是一个 jar 文件, 文件名后的 ! 告诉它在 jar 文件内部查找.
通过 XULRunner 运行您的应用程序现在所有的前期工作已经完成了, 马上就可以运行您的应用程序了. 在你 下载 XULRunner 之后, 仅需要一条命令行语句:
xulrunner application.ini您的 startPage.xul 将在新的窗口里打开, 就像其它的桌面应用程序一样.结论为了让一个 XUL 应用程序工作于 XUL Runner, 您需要 3 个不同格式的配置文件. 这些确实是非常杂乱. 公平起见, chrome.manifest 格式有些用在 Firefox 扩展里, 所以重用这些功能性是十分可行的, 不过需要在 prefs.js里确切说明您的开始页面. 这儿有一些其它 XUL 应用程序包 方法的提案, 不过它显得有些陈旧了, 并且没有代码的支持.
当你想要避免使用 Firefox 的时候, 一个基于 XULRunner 的应用程序看起来是个不错的解决方案. 我希望避免使用 Firefox 是因为程序的外观, 不过一般来说我没有看到太多超越编写一个扩展的优势, 它仅仅是一个可替换的选择.
优点:
- 在自己的进程里运行
- 不会受其它的 Firefox 扩展, 皮肤和配置的影响
- 不需要 Firefox
缺点:- 不能随 Firefox 自动更新, 自动更新代码需要自己写
- 不会受其它的 Firefox 扩展, 皮肤和配置的影响
- 安装包会变得非常大, 因为需要下载 XULRunner 的二进制包 (大于13MB)
欢迎光临 firemail (http://firemail.wang:8088/) |
Powered by Discuz! X3 |