我最近接手了一个基于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/
关于我可以开始调试的任何想法?
答案 0 :(得分:2)
我明白了! 万一其他人也遇到这种情况: 这是由于默认情况下缓存系统和使用.jar容器而不是文件夹。 XUL环境缓存了JS和XUL文件 - 甚至在禁用它们之后,我不得不将.jar文件中的所有内容解压缩到内容文件夹并更新chrome.manifest文件。
感谢您对调试的建议! - 他们帮助了这个过程。
答案 1 :(得分:1)
我猜你的清单只是没有加载。要测试我是否会引入故意语法错误并检查错误控制台。例如。如果你把
asdfasd
在它自己的行上,您应该在错误控制台中获得Warning: Ignoring unrecognized chrome manifest directive 'asdfasd'.
。
(请注意其他专家:最初我想建议删除'file:'前缀并避免包名中的下划线,但我每晚都在Firefox上测试它,它运行正常。)
答案 2 :(得分:0)
您的Chrome包显然没有注册。据我所知,原因是伪造的file:
前缀,你应该在指定相对路径时删除它:
content case_scenario_builder chrome/case_scenario_builder/content/ contentaccessible=yes
是的,我怀疑你是从某个地方复制了contentaccessible=yes
- 你应该放弃它,除非你知道它的作用。