Автономное приложение XUL не запускается - PullRequest
2 голосов
/ 07 марта 2012

Я недавно взялся за проект, построенный на XUL (автономно, с использованием xulrunner) - Однако я не могу заставить его правильно работать.Я получаю эту ошибку при попытке запустить ее с помощью командной строки (xulrunner.exe ../application.ini -jsconsole):

Для chrome не зарегистрирован пакет chrome: //case_scenario_builder/content/case_scenario_builder.xul

Файл chrome.manifest выглядит следующим образом:

content case_scenario_builder file:chrome/case_scenario_builder/content/ contentaccessible=yes
content jslib jar:chrome/jslib.jar!/ 
skin case_scenario_builder skin file:chrome/case_scenario_builder/skin/
locale case_scenario_builder en-US chrome/case_scenario_builder/locale/en-US/

Есть идеи о том, где можно начать отладку?

Ответы [ 3 ]

2 голосов
/ 08 марта 2012

Я понял это!На случай, если кто-то еще столкнется с этим: это произошло из-за системы кэширования по умолчанию и использования контейнеров .jar вместо папок.Среда XUL кэшировала файлы JS и XUL - и даже после их отключения мне пришлось извлечь все содержимое файла .jar в папку содержимого и обновить файл chrome.manifest.предложения по отладке!- они помогли процессу.

1 голос
/ 08 марта 2012

Полагаю, ваш манифест просто не загружается. Чтобы проверить это, я бы ввел преднамеренную синтаксическую ошибку и проверил консоль ошибок. Например. если поставить

asdfasd

в отдельной строке вы должны получить Warning: Ignoring unrecognized chrome manifest directive 'asdfasd'. в консоли ошибок.

(Примечание для других экспертов: изначально я хотел предложить удалить префикс «file:» и избегать подчеркивания в имени пакета, но я тестировал его на Firefox по ночам, и он отлично работает.)

0 голосов
/ 08 марта 2012

Ваш пакет Chrome явно не зарегистрирован. Из того, что я могу сказать, причина в фиктивном префиксе file:, вы должны отбросить его при указании относительных путей:

content case_scenario_builder chrome/case_scenario_builder/content/ contentaccessible=yes

Кстати, я подозреваю, что вы скопировали contentaccessible=yes откуда-то - вы должны также сбросить его, если вы не знаете, что он делает.

...