前段时间做了一个下载插件。该插件的功能是将普通下载链接转化为迅雷、旋风、电驴等下载工具的专用链接。添加链接的方式是在WordPress编辑中添加一个自定义字段,然后在自定义字段中添加一个下载地址,每行一个,添加的下载地址会自动转换成迅雷和旋风的下载链接。插件的使用效果截图如下。
下载链接转换的功能在网上有现成的代码,稍加修改就可以使用。而点击下载链接调用迅雷下载又是一件麻烦事。直接通过js调用迅雷的浏览器插件是最直接的方式,但是兼容性不好。有些浏览器不支持迅雷的插件,即使有些浏览器支持,也有很多用户没有安装。这种情况下,点击迅雷专用的下载链接,会提示你安装迅雷,然后自动下载迅雷。这种做法用户体验很差,我一直很讨厌迅雷的强制推广方式。
另一种方法是复制下载链接,达到添加下载任务的目的。无论是迅雷还是旋风还是其他类型的下载软件,一般支持剪贴板监控功能的,只要剪贴板中的内容发生变化,并且变化的内容中有下载链接,就可以监控下载链接,自动帮我们建立下载任务。简单来说,只要我们复制下载链接,迅雷就会自动开始为我们下载链接。
基于上述原理,我们可以通过Javascript将用户点击下载选中文件的动作转化为复制到选中链接到剪贴板的动作。有一个jQuery插件(ZeroClipboard)可以帮助我们实现这一点。上面截图中,下载选中文件和复制选中链接的功能和效果其实是一样的。点击任意一个按钮,下载功能都可以检测到下载地址,自动开始为我们下载。