我正在尝试在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");
答案 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.xul
中defaults/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
中)非常有用。