我编写了一些软件,利用Firefox中的-app
命令行选项在Firefox的XULRunner嵌入式副本中启动XUL应用程序。这在Firefox 3.x中运行良好,但是当我尝试使用Firefox 4时,Firefox会崩溃或什么也不做(取决于它是在Mac还是Windows上)。
我已经尝试了许多其他命令行选项,其中许多似乎被各种各样破坏。 (例如-v
打印在OSX上崩溃的版本信息)
有没有人知道是否已经注册了这个错误?删除-app
是故意还是疏忽?有没有办法解决这个问题?
答案 0 :(得分:2)
-app
在firefox 4中维护,应该可以正常工作
我不知道windows和mac os是否有bug,但我在Linux上使用它的几个应用程序,它运行良好(我的firefox版本是Mozilla Firefox 4.0.1
)
答案 1 :(得分:1)
只是想碰这个 - 就像在Firefox 7上一样,-app
不似乎在那里:
$ uname -s -r
Linux 2.6.38-11-generic
$ firefox --version
Mozilla Firefox 7.0.1
$ firefox --help
Usage: firefox [ options ... ] [URL]
where options include:
X11 options
--display=DISPLAY X display to use
--sync Make X calls synchronous
--g-fatal-warnings Make all warnings fatal
Firefox options
-h or -help Print this message.
-v or -version Print Firefox version.
-P <profile> Start with <profile>.
-migration Start with migration wizard.
-ProfileManager Start with ProfileManager.
-no-remote Open new instance, not a new window in running instance.
-UILocale <locale> Start with <locale> resources as UI Locale.
-safe-mode Disables extensions and themes for this session.
-jsconsole Open the Error console.
-browser Open a browser window.
-new-window <url> Open <url> in a new window.
-new-tab <url> Open <url> in a new tab.
-preferences Open Preferences dialog.
-search <term> Search <term> with your default search engine.
-private Enable private browsing mode.
-private-toggle Toggle private browsing mode.
-setDefaultBrowser Set this app as the default browser.
-g or --debug Start within debugger
-d or --debugger Specify debugger to start with (eg, gdb or valgrind)
-a or --debugger-args Specify arguments for debugger
我也很想知道它被移除的时间和原因,但我在网上找不到任何信息(另见Single-file app with xulrunner - possible?)...
PS:刚刚在这里提交了一个错误:Bug #880596 in firefox (Ubuntu): “Option '-app' missing from Firefox above version 3” -
答案 2 :(得分:1)
我在使用-app
开关时遇到了问题。我正在使用Firefox 10,但我知道这个问题可以追溯到FF 4。
当使用-help
选项运行时,firefox二进制文件不会显示-app
选项的列表,这会让我感到很困惑,但我相信它仍然存在。
相反,我的问题与Firefox 4中的this change有关,需要在应用程序根目录中使用chrome清单文件。从FF 4开始,只读取一个(根)铬清单,因此您必须使用以下行创建一个(或行,如果您想要有多个清单)。
manifest chrome/chrome.manifest
然后以通常的方式启动应用程序
firefox -app path/to/application.ini -jsconsole
(有关调试使用-jsconsole
选项)。
另一个注意事项,(你没有提到试过这个,但我做了,这是错误的) - 不要使用-no-remote
选项。我尝试了这个,目的是为我的XUL应用程序启动一个新的进程,与已经运行的firefox实例分开。但是,即使firefox实例已在运行,-app
选项也会为您的应用程序创建一个新进程,因此没有必要。
有关Chrome清单问题的详细信息,另请参阅this question。