【问题标题】:XUL standalone application not startingXUL 独立应用程序未启动
【发布时间】:2012-03-07 15:46:18
【问题描述】:

我最近接手了一个基于 XUL(独立,使用 xulrunner)构建的项目 - 但是我无法让它正常运行。 当我尝试使用命令行 (xulrunner.exe ../application.ini -jsconsole) 启动它时出现此错误:

没有为 chrome://case_scenario_builder/content/case_scenario_builder.xul 注册 chrome 包

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/

关于我可以从哪里开始调试的任何想法?

【问题讨论】:

    标签: xul xulrunner


    【解决方案1】:

    我想通了! 万一其他人也遇到这种情况: 这是由于默认的缓存系统和使用 .jar 容器而不是文件夹。 XUL 环境已经缓存了 JS 和 XUL 文件——即使在禁用它们之后,我也必须将 .jar 文件中的所有内容提取到内容文件夹并更新 chrome.manifest 文件。

    感谢您对调试的建议! - 他们帮助了这个过程。

    【讨论】:

      【解决方案2】:

      我猜你的清单只是没有被加载。为了测试我会引入一个故意的语法错误并检查错误控制台。例如。如果你把

      asdfasd
      

      在单独的行中,您应该在错误控制台中获得 Warning: Ignoring unrecognized chrome manifest directive 'asdfasd'.

      (其他专家请注意:最初我想建议删除 'file:' 前缀并避免在包名称中使用下划线,但我每晚在 Firefox 上对其进行了测试,并且效果很好。)

      【讨论】:

        【解决方案3】:

        您的 chrome 包显然没有注册。据我所知,原因是伪造的file: 前缀,您应该在指定相对路径时删除它:

        content case_scenario_builder chrome/case_scenario_builder/content/ contentaccessible=yes
        

        顺便说一句,我怀疑你从某个地方复制了 contentaccessible=yes - 你也应该放弃它,除非你知道它的作用。

        【讨论】:

        • 这也是我的第一个想法,但在我的测试中指定带有 file: 前缀的相对 URL...
        • 哇,我知道清单解析器对jar: URLs 有一些奇怪的特殊处理,但显然它对file: URLs 也有作用 - 不知道:)
        猜你喜欢
        • 1970-01-01
        • 2014-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-14
        • 1970-01-01
        相关资源
        最近更新 更多