让firefox自定义地处理文件类型

2013年03月27日

在firefox中,如何处理一个链接由MIME决定。很悲催的是,遇到磁力链接magnet或者电驴ed2k等链接且系统中没有安装处理这些链接的程序时,firefox就不知道应该如何处理了。这个时候,可以自己写一个程序或脚本来处理这种类型。

一些网站会将磁力链接隐藏起来,当你访问特定页面的时候才会直接发送给对应的程序,若是操作系统中没有处理它的程序,就无法知道这个链接是什么。我用迅雷离线版的时候,需要磁力链接来做离线下载。就写了一个脚本来处理这种需求,看代码:

#!/bin/bash
# 本程序实现将浏览器不能处理的链接类型发送到剪贴板

str="$*"  #firefox会将链接以参数的形式发送给脚本,先把发过来的东西存起来

# 为了以后扩展方便,判断是否为磁力链接。
if [ s${str:0:6} == smagnet ]  #${str:0:6}截取str从第1个字符开始的6个字符
then
    echo -n $str | xclip -selection clipboard
    # echo 的 -n 参数可以在输出的时候不在尾部加上回车
    # xclip用来将链接发送到剪贴板,一个类似的命令是xsel,具有更多功能
fi

给这个脚本可执行权限,然后在firefox首选项-应用程序中设置采用这个脚本来处理磁力链接即可,这里是将该链接放到系统剪贴板。