我想知道如何将下载链接从网络浏览器传递到第三方应用程序,而不是让网络浏览器直接下载它。 当然需要浏览器扩展。但我想知道它的工作方式。例如可以使用命令行吗? socket ?或者有没有更好的方法来做到这一点?应用端和扩展端都有哪些要求? 另外,我正在为 Mac 进行开发,因此 JavaScript ActiveX 在这里不起作用。
问候
最佳答案
要在 Safari 扩展程序中拦截下载,您可以在主 HTML 文件中注册接收 beforeload
事件,然后对该事件调用 preventDefault()
方法如果您想以不同方式处理它,则可以禁止下载。然后,您需要某种形式的进程间通信来将链接转发到您的应用程序,一种方法是创建触发您的应用程序的自定义 URL 方案,例如调用 myapp:thelink
而不是 http ://thelink
,并让您的应用程序向操作系统注册以处理 myapp:
协议(protocol)...
关于javascript - 将下载链接从网络浏览器传递到第三方应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12388848/