2

我想知道如何将下载链接从网络浏览器传递到第三方应用程序,而不是让网络浏览器直接下载它。当然,浏览器扩展是必需的。但我问的是它的工作方式。例如,是否可以使用命令行?插座?或者有没有更好的方法来做到这一点?应用端和扩展端有什么要求?我也在为 Mac 开发,所以 JavaScript ActiveX 在这里不起作用。

问候

4

1 回答 1

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

于 2012-09-12T13:26:57.750 回答