我之前曾试图弄乱xulrunner
,现在我又想再试一次:)
application.ini
和其他文件(可能压缩为.xpi,然后需要{{ 1}} ),然后调用应该是:
--install-app ...
...但是,我想要一个更简单的启动方式 - 因此,我希望单文件XUL应用程序方法:)(这里的一个好注意是,也不能使用zipped。 xpi作为xulrunner `pwd`/application.ini
的参数,请参阅XULRunner question - DonationCoder.com )
问题是,我几乎100%肯定在过去的某个时刻,我使用过一个简单的单文件XUL应用程序,如(伪代码):
xulrunner
...但我不记得它是怎么回事:)所以,这可能是xulrunner my-xul-app.extension
,还是仅xulrunner
?
据我所知,我使用了像'my-xul-app.xul'这样的文件(作为单文件应用程序),它只会指定一个窗口只需一个按钮(由于缺少javascript而无法真正做任何事情) - 我现在想重复同样的事情,以刷新我的记忆(除非我感到困惑从那时起:))
首先,我找到了HOWTO: Getting Started with Linux Standalone Apps using XUL - Ubuntu Forums(2007),并修改了那里使用的firefox
文件:
example.xul
我试图按照链接中的建议“运行”这个:
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window
id = "myapp"
title = "SQLite Example"
height = "420"
minHeight = "420"
width = "640"
minWidth = "640"
screenX = "10"
screenY = "10"
sizemode = "normal"
xmlns = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" >
<spacer style = "height: 4px; cursor: default;" />
</window>
...会发生什么是Firefox打开,窗口大小像1x1像素;如果你能找到手柄,你可以拉伸窗口,并阅读:
远程XUL
此页面使用的不受支持的技术在Firefox中默认不再可用。
哎哟:(答案( like How do I fix the Remote XUL error I get when using Firefox 4.x and the Webmail Advanced Interface? )似乎与实际远程 xul有关(并建议使用插件来处理);但是我想要的只是在本地运行文件?!“远程”部分来自哪里?
另外,看到firefox开关“firefox -no-remote -chrome file:$PWD/example.xul
”(Using Firefox 3 as a XUL runtime environment);虽然它指的是-app
,但我试过这个:
application.ini
...而Firefox就像往常一样开始。
顺便说一句,我在firefox -no-remote -app $PWD/example.xul
中找不到-app
和-chrome
命令行选项;)
但实际上,我并不想将firefox --help
用作引擎 - 只需firefox
;我尝试了Firefox方法,因为我认为它与xulrunner
相同;事实证明它不是(即使你使用xulrunner
:Why does 'firefox -App application.ini' and 'xulrunner application.ini' behave differentely? | Firefox Support Forum):
无论如何,如果我只运行application.ini
(按照我的意愿),我会得到:
xulrunner
所以,我可以看到所有内容都指向“{1}}无法实现的”单一源文件“应用程序 - 但我只是想确定(以防我错过了一些模糊的教程:))。如果不是 - 有人记得在以前的某个时间点是否可能?
PS:
$ xulrunner example.xul
Error: App:Name not specified in application.ini
答案 0 :(得分:2)
我不相信您可以创建单文件XULRunner应用程序。 -chrome <...>
参数可能用于工作,我猜“远程XUL”错误来自URL是file://,而不是chrome://。
您可以使用类似Live XUL Editor in the Developer Assistant(以前的Extension Developer的扩展名)来快速测试XUL。
我现在听到的一般想法是,你应该尽可能地编写HTML5,因为它更积极地开发,更知名的技术,更改不兼容和更好的工具......
答案 1 :(得分:0)
以下是我为另一个related question撰写的答案,此处转载,因为它可能会帮助那些想知道如何打包他们的XUL应用程序的人。
xulrunner不能直接运行zipped .xpi或.xulapp太糟糕了,但是可以将大部分.js,.xul,.css和.png文件打包到jar中并将所有内容包装起来xulrunner的私有副本,无需运行--install-app
这些是我打包我们的XUL应用程序的步骤。
第一步是将所有文件( application.ini , chrome.manifest 和 prefs.js 除外)放入像这样的.jar文件(所有这些都是在Windows下进行的,对Linux和OSX进行了适当的调整)
zip -r d:\download\space\akenispace.jar * -i *.js *.css *.png *.xul *.dtd
然后在d:\ download \ space中,按如下方式布置文件:
D:\download\space\akenispace.jar
D:\download\space\application.ini
D:\download\space\chrome.manifest
D:\download\space\defaults
D:\download\space\defaults\preferences
D:\download\space\defaults\preferences\prefs.js
文件内容如下
<强> 的application.ini 强>
[App]
Vendor=Akeni.Technologies
Name=Akeni.Space
Version=1.2.3
BuildID=20150125
Copyright=Copyright (c) 2015
ID=space@akeni.com
[Gecko]
MinVersion=1.8
MaxVersion=35
<强> chrome.manifest用于 强>
content akenispace jar:akenispace.jar!/chrome/content/
skin akenispace default jar:akenispace.jar!/chrome/skin/
locale akenispace en-US jar:akenispace.jar!/chrome/locale/en-US/
resource akenispace jar:akenispace.jar!/chrome/resource/
<强> 的prefs.js 强>
pref("toolkit.defaultChromeURI", "chrome://akenispace/content/space.xul");
现在您可以将这些文件放入.wxs for WiX并为Wndows生成MSI文件。
当然,您还需要包含XULRunner的所有文件。