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

How to run a XUL application in Mac OS X Snow Leopard?

本文关键字:Leopard 运行 XUL 应用程序 Snow Mac OS      更新时间:2023-09-26

我正试图在Mac OS X中创建一个XUL"Hello World"应用程序。我从这里下载XULRunner,遵循本教程,然后遵循本教程。。。没有任何效果。所以,我仔细看了一下,找到了这个部分,我遵循了它的指示。不幸的是,它还不起作用。我甚至可以用命令运行应用程序

/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");

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

content zull content/

通常,您可以将-jsconsole标志添加到命令行中。这将打开错误控制台,并经常向您显示问题所在。

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

content zull file:content/

content zull content/

然后,按照这些说明,我在根应用程序目录中创建了一个chrome.manifest文件,其内容是

manifest chrome/chrome.manifest

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

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

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

我刚把它改成铬路径。。。

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

它奏效了。

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