Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2515|回复: 0
打印 上一主题 下一主题

XULRunner tutorial

[复制链接]

388

主题

602

帖子

2218

积分

金牌会员

Rank: 6Rank: 6

积分
2218
跳转到指定楼层
楼主
发表于 2016-4-25 11:54:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 文件:

  • 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)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-4-23 19:13 , Processed in 0.054539 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表