Как запустить приложение XUL в Mac OS X Snow Leopard? - PullRequest
3 голосов
/ 31 мая 2011

Я пытаюсь создать приложение XUL "Hello World" в Mac OS X. Я загружаю 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");

Ответы [ 2 ]

2 голосов
/ 06 июня 2011

Я вижу здесь только одну очевидную ошибку. Содержимое вашего файла chrome.manifest должно быть:

content zull content/

Как правило, вы всегда можете добавить флаг -jsconsole в командную строку. Это откроет консоль ошибок и часто покажет вам, что не так.

1 голос
/ 07 июня 2011

Следуя рекомендациям Владимира Паланта, я изменил содержание chrome/chrome.manifest с

content zull file:content/

до

content zull content/

Затем, следуя этим инструкциям , я создал файл chrome.manifest в корневом каталоге приложения, содержимое которого

manifest chrome/chrome.manifest

Требуется, потому что местом по умолчанию для chrome.manifest в XULRunner 2.0 является корневой каталог приложения.

Однако ошибка 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");

... и это сработало.

Это была куча глупых ошибок, но теперь она решена. Эта тема была очень полезна для меня. Кроме того, рекомендация Владимира по использованию опции -jsconsole в XULRunner (например, в /Library/Frameworks/XUL.framework/xulrunner-bin ~/sandbox/zull/application.ini -jsconsole) была очень полезной.

...