将下载链接从Web浏览器传递到第三方应用程序

时间:2012-09-12 13:04:44

标签: javascript safari-extension download-manager browser-extension

我想知道如何将下载链接从网络浏览器传递到第三方应用程序,而不是让网络浏览器直接下载它。 当然需要浏览器扩展。但我要问的是它的工作方式。例如,可以使用命令行吗?插座?或者有更好的方法吗?应用和扩展方面有哪些要求? 此外,我正在为Mac开发,因此JavaScript ActiveX在这里不起作用。

此致

1 个答案:

答案 0 :(得分:3)

要拦截Safari扩展程序中的下载,在主HTML文件中,您可以注册接收beforeload个事件,然后在事件上调用preventDefault()方法以禁止下载,如果您愿意处理它不同。然后,您需要某种形式的进程间通信来将链接转发到您的应用程序,一种方法是创建一个触发您的应用程序的自定义URL方案,例如调用myapp:thelink而不是http://thelink,并让您的在操作系统中注册的应用程序,用于处理myapp:协议...

http://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/MessagesandProxies/MessagesandProxies.html#//apple_ref/doc/uid/TP40009977-CH14-SW9

http://cocoadev.com/wiki/HowToRegisterURLHandler