接管浏览器下载与草稿模式
浏览器扩展如何接管下载、草稿模式的作用,以及扩展侧删除任务与桌面端的行为差异。
接管是怎么发生的
安装浏览器扩展并完成配对后,扩展默认会接管浏览器中的 HTTP/HTTPS 下载。当浏览器即将开始一个下载时,扩展拦截该下载并取消浏览器原生的下载行为,然后将下载信息(URL、文件名、请求头)通过 Desktop Bridge 发送给桌面端。
扩展弹窗中的「接管下载」开关控制是否启用接管。关闭后,所有下载都由浏览器原生处理。
不会被接管的下载
以下情况不会触发接管:
- 非 HTTP/HTTPS 协议的下载(如
blob:、data:、ftp:) - 在扩展设置中配置了「跳过接管的扩展名」且文件扩展名匹配的下载
- 在扩展设置中配置了「跳过接管的域名」且来源域名匹配的下载
- 文件大小低于「最小接管大小」设定值的下载(设为 0 表示接管全部)
- 文件大小未知且「大小未知时接管」被关闭的下载
- 按住跳过接管快捷键(默认为 Alt)点击的下载链接
草稿模式
桌面端的「设置 → 浏览器扩展 → 接管下载时进入草稿模式」控制接管到的下载是直接开始还是先进入任务草稿。
开启草稿模式后,每次接管到的下载都会弹出「添加任务」对话框,你可以在对话框中修改下载路径、文件名、分片数,确认后才开始下载。点击「稍后下载」可以将任务加入队列但不立即开始。
关闭草稿模式后,接管到的下载直接使用默认配置开始下载,不弹出对话框。
草稿模式的默认值为关闭。
扩展侧删除任务的行为
扩展弹窗中的任务列表提供两种删除操作,它们在桌面端的行为不同:
| 扩展中的操作 | 扩展中的按钮 | 桌面端的行为 |
|---|---|---|
| 取消 | 任务卡片上的 × 按钮 | 删除任务并删除已下载的文件 |
| 仅移除任务 | 右键菜单 →「仅移除任务」 | 从任务列表移除,但保留已下载的文件 |
这两个操作在桌面端分别对应 cancel(shouldDeleteFiles=True)和 remove(shouldDeleteFiles=False)。
注意:在扩展中点击 × 取消一个已完成的任务,已下载的文件也会被删除。如果只想从列表中清除已完成的任务而不删除文件,使用右键菜单中的「仅移除任务」。
桌面端未运行时的行为
如果扩展已启用接管但桌面端未运行,接管仍然会生效——浏览器原生下载会被取消,下载请求进入扩展侧的 Task Queue。扩展会尝试通过 ghostdownloader:// 协议唤醒桌面端(需要在桌面端开启「设置 → 浏览器扩展 → 允许浏览器扩展唤醒」)。桌面端启动并重新连接后,Task Queue 中的下载请求会自动发送。
如果桌面端最终没有启动,这些下载请求会留在扩展的 Task Queue 中直到连接恢复或扩展被卸载。浏览器原生的下载已被取消,不会自动恢复。
关于扩展如何识别页面中的可下载媒体资源,参见媒体嗅探与画质选择。