2009-11-12 54 views
1

我需要一种方法来在OS X的外壳在Firefox中打开一个新的URL方式,一般我做,这是与开放的命令,但当位置是文件时,open命令似乎不传递查询/片段值:uri。当然,这有点滥用uri文件,但是如果你在loc栏中给FF或者Safari提供URI,它们(似乎)就可以正常工作。但它似乎开放不会通过它。打开复杂的文件://在OS新的Firefox标签URI X

我看着有点在AppleScript的,但无法弄清楚如何告诉FF打开一个新的URL,而不是最近的FF的版本反正。开放必须与正在运行的Firefox进行通信才能打开新的URL,但是如果我能弄清楚它是如何实现的,就会发生。

+0

你能提供一个失败的uri的例子吗?你有没有尝试在命令行上引用它? open -n将运行该程序的一个新实例,而不是使用已运行的实例 – 2009-11-12 01:58:35

+0

file:/// .html#x 如果你通过它打开它,会告诉浏览器打开文件,但浏览器不会得到该片段。 – smparkes 2009-11-12 02:06:55

+0

显然,这还没有早在2002年工作! (http://lists.apple.com/archives/Carbon-development/2002/Jul/msg00071.html) – 2009-11-12 02:22:35

回答

0

这些工作对我的雪豹如果Firefox被关闭:

open -a Firefox --args "http://en.wikipedia.org/wiki/Firefox#Future_developments" 
open -a Firefox --args "file:///Users/nickb/test.html#ft2" 

如果它已在运行这将打开一个新的标签页的URL:

open -a Firefox http://en.wikipedia.org/wiki/Firefox#Future_developments 

根据您的网址,你可以需要通过命令提示符进行更多的转义/编码。

还检查了的this article关于Firefox的命令行参数在Mac OS X/Linux的部分,如果看你还有什么可以做。

+0

嗯......我不能复制这个。像“打开Firefox -args'http://www.google.com'这样简单的东西”会导致Firefox激活,但它不会加载URL。这对于http url,文件url或文件路径(不是file://前缀)是正确的。 – smparkes 2009-11-12 16:52:12

+0

如果FF已关闭,答案中的答案适用于我。我添加了一行,如果FF处于打开状态,则会在新选项卡中打开url。我还没有想出如何打开一个新窗口,或者如果FF已经在运行,那么就改变当前页面 – nick 2009-11-12 17:17:19

+0

Right ...第三行是打开URL的标准方式,/ usr/bin/open会传递片段如果URL方案是http,但不是它的文件。在这种情况下,它会从URL中删除任何片段和查询部分。 – smparkes 2009-11-12 17:51:39

相关问题