Dropbox 打开按钮如何工作?

How does Dropbox Open button work?

2015 年 2 月,Dropbox 发布了一项新功能,允许您从其网络界面触发本地打开文件: https://blogs.dropbox.com/dropbox/2015/02/new-way-to-open-dropbox-files/

更多信息在这里:

这是从上下文菜单中可见的“打开”按钮的示例:

这里是显然连接到同步客户端的弹出窗口的简要显示:

很明显必须安装 Dropbox 同步客户端,因此您有一些本机本地代码 运行,它允许一些仅在浏览器中无法实现的奇特内容 Javascript,但是不知何故浏览器页面能够做一些意想不到的事情:

  1. 根据来自 同步客户端(是否开启,本地是否存在文件)
  2. 触发,通过点击按钮,同步客户端的动作 (在其默认应用程序中打开文件,或在 Explorer/Finder)

这两件事是通过什么技术机制起作用的?

这只是一个猜测,但可能是这样的:

  1. 同步客户端知道本地文件存在的一切。
  2. 同步客户端将该信息发送到同步服务器,因此服务器也知道。
  3. Dropbox 网页随后可以有选择地显示打开按钮。
  4. 单击打开按钮后,网页会联系同步服务器,同步服务器又会向同步客户端发送一条消息至 "open that file"。
  5. 同步客户端打开该文件。在 Mac 上,这将是一个简单的 open [path] shell 命令。

浏览器中没什么特别的。