如何在Mac OS X Snow Leopard中运行XUL应用程序?

时间:2011-05-31 15:08:12

标签: javascript firefox xul xulrunner osx-leopard

我正在尝试在Mac OS X中创建一个XUL“Hello World”应用程序。我从here下载了XULRunner,然后是this tutorial,然后是this tutorial,然后是{{3} } ...没有用。所以,我更好地看了一下,找到this tutorial,我遵循了他的指示。不幸的是,它还没有奏效。我甚至可以使用命令

运行应用程序
/Library/Frameworks/XUL.framework/xulrunner-bin $PWD/application.ini 

但是,没有显示窗口,也没有打印错误。当我尝试使用firefox -app运行应用程序时会发生这种情况。

有什么不对?另外,有人知道一些可行的教程吗?这也是一个可以接受的答案:)

提前致谢!

文件内容

application.ini文件的内容是:

[App]
Vendor=Me
Name=Zull
Version=1.0
BuildID=31052011
ID=zull-xul@zull.com

[Gecko]
MinVersion=2.0
MaxVersion=2.*

chrome/chrome.manifest的内容是:

content zull file:content/

chrome/content/main.xul的内容是:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="main" title="My App" width="300" height="300"
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <caption label="Hello World"/>
</window>

最后,defaults/preferences/prefs.js的内容是:

pref("toolkit.defaultChromeURI", "chrome://zull/content/main.xul");

2 个答案:

答案 0 :(得分:2)

我在这里只能看到一个明显的错误。 chrome.manifest文件的内容应为:

content zull content/

通常,您始终可以将-jsconsole标志添加到命令行。这将打开错误控制台,通常会显示错误。

答案 1 :(得分:1)

根据Wladimir Palant的建议,我改变了chrome/chrome.manifest的内容

content zull file:content/

content zull content/

然后,在these instructions之后,我在根应用程序目录中创建了一个chrome.manifest文件,其内容为

manifest chrome/chrome.manifest

这是必需的,因为XULRunner 2.0中chrome.manifest的默认位置是根应用程序目录。

但是,错误No chrome package registered for chrome:///User/brandizzi/sandbox/zull/main.xul仍然存在。然后,我明白了:尝试解决问题,我经历了使用main.xuldefaults/preferences/prefs.js文件的完整路径:

pref("toolkit.defaultChromeURI", "chrome:///User/brandizzi/sandbox/zull/main.xul");

我刚把它改成了镀铬路径......

pref("toolkit.defaultChromeURI", "chrome://zull/content/main.xul");

......它有效。

尽管如此,这是一堆愚蠢的错误,但现在已经解决了。 This thread对我很有帮助。此外,Wladimir关于使用XULRunner的-jsconsole选项的建议(例如在/Library/Frameworks/XUL.framework/xulrunner-bin ~/sandbox/zull/application.ini -jsconsole中)非常有用。