javascript - 将下载链接从网络浏览器传递到第三方应用程序

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

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

问候

最佳答案

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

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

关于javascript - 将下载链接从网络浏览器传递到第三方应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12388848/

相关文章:

javascript - Safari 扩展向注入(inject)的脚本发送消息

javascript - 将动态脚本注入(inject)到 Safari 扩展中的每个选项卡 onLoad

android - 手动暂停和恢复的下载管理器

PHP代理下载文件

javascript - 如何使用 Dojo 扩展 es6 类

javascript - JS 中的二维矩阵,带有行和列名称

security - Safari 扩展程序如何知道隐私浏览模式是否开启?

Ruby - 在下载完成之前保存文件部分

javascript - 如何使用 Ajax 更改服务器端语言 cookie,例如客户端?

javascript - GA 基础知识 – 基于动态 PHP 的网站中页面浏览量跟踪的最佳实践