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,但是不知何故浏览器页面能够做一些意想不到的事情:
- 根据来自
同步客户端(是否开启,本地是否存在文件)
- 触发,通过点击按钮,同步客户端的动作
(在其默认应用程序中打开文件,或在
Explorer/Finder)
这两件事是通过什么技术机制起作用的?
这只是一个猜测,但可能是这样的:
- 同步客户端知道本地文件存在的一切。
- 同步客户端将该信息发送到同步服务器,因此服务器也知道。
- Dropbox 网页随后可以有选择地显示打开按钮。
- 单击打开按钮后,网页会联系同步服务器,同步服务器又会向同步客户端发送一条消息至 "open that file"。
- 同步客户端打开该文件。在 Mac 上,这将是一个简单的
open [path]
shell 命令。
浏览器中没什么特别的。
2015 年 2 月,Dropbox 发布了一项新功能,允许您从其网络界面触发本地打开文件: https://blogs.dropbox.com/dropbox/2015/02/new-way-to-open-dropbox-files/
更多信息在这里:
这是从上下文菜单中可见的“打开”按钮的示例:
这里是显然连接到同步客户端的弹出窗口的简要显示:
很明显必须安装 Dropbox 同步客户端,因此您有一些本机本地代码 运行,它允许一些仅在浏览器中无法实现的奇特内容 Javascript,但是不知何故浏览器页面能够做一些意想不到的事情:
- 根据来自 同步客户端(是否开启,本地是否存在文件)
- 触发,通过点击按钮,同步客户端的动作 (在其默认应用程序中打开文件,或在 Explorer/Finder)
这两件事是通过什么技术机制起作用的?
这只是一个猜测,但可能是这样的:
- 同步客户端知道本地文件存在的一切。
- 同步客户端将该信息发送到同步服务器,因此服务器也知道。
- Dropbox 网页随后可以有选择地显示打开按钮。
- 单击打开按钮后,网页会联系同步服务器,同步服务器又会向同步客户端发送一条消息至 "open that file"。
- 同步客户端打开该文件。在 Mac 上,这将是一个简单的
open [path]
shell 命令。
浏览器中没什么特别的。