使用Applescript通过上下文菜单在Firefox中打开链接

时间:2010-10-08 10:32:44

标签: macos osx-snow-leopard applescript

我是新手使用Applescript在Snow Leopard中创建服务。我发现自己经常尝试在Firefox中使用Firefox打开链接。我知道有办法用FF打开页面网址,但我想用FF打开页面内的任何链接。我认为使用Applescript创建服务可能是个好主意,到目前为止我发现了这个:

openFirefoxURL("http://www.apple.com/")

on openFirefoxURL(x)
   return do shell script "open -a Firefox" & space & quoted form of x
end openFirefoxURL

这很好地在FF中创建了一个新选项卡。有什么建议可以调整它以打开页面上的链接吗?

更新:我通过反复试验找到了解决方案:

tell application "Safari"
    set myURL to (do JavaScript "(getSelection().anchorNode.parentNode.href)" in document 1)
end tell

do shell script "open -a Firefox" & space & myURL

既然剧本符合我的目的,我不知道是否有更好的方法来做到这一点,例如:通过Applescript而不是javascript获取选择。如果您有更好的解决方案,请告诉我。谢谢!

4 个答案:

答案 0 :(得分:3)

在网上搜索了一段时间之后,还有另一种方法,我找不到合适的解决方案。

AppleScript中的一项服务将从任何其他应用程序URL字段打开Firefox中的任何URL。例如,只需选择Chrome网址中的文字,然后从列表中选择服务。

创建服务:

  1. 在Automator主对话框中选择服务。
  2. 选择“服务接收已选中”[网址]
  3. 选择“在”[任何应用程序]
  4. 选择“输入为”[仅限网址]

  5. 然后添加“运行Shell脚本”操作,将其拖到脚本序列中。

  6. 选择“Shell”[/ bin / bash]
  7. 选择“传递输入”[作为参数]
  8. 并粘贴以下脚本:
  9. for f in "$@"
    do
        echo "$f"
        if [ ${f:0:4} = "http" ]; then
            open -a Firefox "$f"
        else
            prefix="http://"
            prefix+=$f
            open -a Firefox "$prefix"
        fi
    done
    

    脚本会检查是否添加了“http”前缀,因为默认情况下Chrome没有通过它,并使用OSX“open”命令打开Firefox。

    使用“在Firefox中打开URL”这个名称保存此服务,您就完成了。右键单击任何URL字段选择后,该服务将在服务列表菜单中提供。

    完成。

    服务保存在〜/ Library / Services。默认情况下,此目录在Lion中隐藏,只需在终端发出此命令:

    # chflags nohidden ~/Library/
    

答案 1 :(得分:2)

您不需要特殊程序来执行此操作。 Safari已经做到了。您必须先在Safari中启用“开发”菜单。转到Safari的首选项,转到高级部分,然后选中底部名为“在菜单栏中显示开发菜单”的框。现在您已经拥有了开发菜单,您可以通过转到Develop - >在其他浏览器中打开Safari中的任何页面。打开页面,带菜单。

这样做会在Firefox中打开当前页面,然后只需点击你想要的任何链接。

答案 2 :(得分:0)

我不确定我是否完全理解您要做的事情,但如果您希望使用Firefox作为默认浏览器,那么您不需要Applescript。只需进入Safari,打开“首选项”,然后选择Firefox作为第一个选项卡顶部的默认浏览器。

答案 3 :(得分:0)

由于Safari的AppleScript字典无法提供任何访问DOM的方法,因此JavaScript解决方案非常好用。如果你有一个服务(“在Firefox中显示URL”),即使所选文本中没有链接,也会让你烦恼,我建议使用Choosy,这是George Brocklehurst的帮助应用程序/首选项窗格,它将提供您是浏览器的用户提示(以及更多,基于模式的选择规则)。 a companion Safari extension提供了您正在寻找的上下文菜单选项。