火狐浏览器下载完自动关机需借助第三方工具:一、用迅雷设置计划任务;二、downthemall!导出日志+批处理脚本;三、ublock origin注入关机提示脚本;四、firefox download api配合native messaging开发原生关机扩展。

如果您在使用火狐浏览器进行大文件下载时希望下载完成后自动关机,但火狐原生不支持该功能,则需借助第三方下载工具或扩展协同实现。以下是多种可行方案:
一、通过迅雷客户端设置下载完成自动关机
迅雷具备独立的计划任务机制,可接管火狐发起的下载链接并执行关机指令,无需修改火狐本身设置,兼容性高且操作直观。
1、确保已安装最新版迅雷客户端(版本号需 ≥ 7.9.7.5280)。
2、在火狐浏览器中点击下载链接,当弹出“用迅雷下载”提示时,勾选“始终使用迅雷打开此类链接”并确认。
3、启动迅雷主界面,点击底部导航栏的“计划任务”按钮。
4、在计划任务页中,点击右上角“+ 新建任务”,选择“下载完后关机”选项。
5、确认任务状态为启用,且关机动作绑定至当前活跃下载队列。
二、使用 DownThemAll! 扩展配合系统命令脚本
DownThemAll! 是火狐原生支持的批量下载管理器,虽不直接提供关机功能,但可通过导出下载完成事件并调用外部批处理脚本触发系统关机指令。
1、访问 https://addons.mozilla.org/firefox/addon/downthemall/ 安装 DownThemAll! 扩展。
2、下载完成后,点击工具栏 DownThemAll! 图标,选择“导出日志”→“CSV 格式”,保存至固定路径如 D:\dta_log.csv。
3、新建文本文件,输入以下内容:
timeout /t 5 /nobreak >nul
shutdown /s /t 0
4、将该文件另存为 D:\auto_shutdown.bat,编码为 ANSI(Windows 系统默认兼容)。
5、使用 Windows 任务计划程序创建基本任务:触发器设为“当特定事件出现在日志中”,日志选“应用程序”,来源选“DownThemAll”,事件ID留空;操作设为“启动程序”,程序路径填入 D:\auto_shutdown.bat。
三、配置 uBlock Origin + 自定义脚本注入实现轻量级关机提示
此方法不执行真实关机,而是在下载页面加载完成后注入 JavaScript 脚本,弹出系统级关机确认对话框,由用户一键触发,兼顾安全性与可控性。
1、安装 uBlock Origin 扩展,并进入其仪表板,切换至“我的过滤器”标签页。
2、在编辑框中粘贴以下规则:
example.com##script:inject(abort-current-inline-script.js, shutdown-prompt)
3、访问 https://github.com/gorhill/uBlock/releases/download/1.59.0/ublock-origin-1.59.0.firefox.signed.xpi 下载对应版本 .xpi 文件,手动拖入火狐安装以确保签名有效。
4、新建文本文件,写入以下代码并保存为 shutdown-prompt.js:
if (document.URL.includes("download-complete")) {
const btn = document.createElement("button");
btn.textContent = "立即关机";
btn.onclick = () => { window.open("file:///C:/Windows/System32/shutdown.exe -s -t 0", "_blank"); };
document.body.appendChild(btn);
}
5、将该 JS 文件置于本地可信路径(如 C:\ublock\scripts\),并在 uBlock 的“高级设置”中启用“允许注入自定义脚本”选项。
四、使用 Firefox 自带 download API 配合 native messaging 实现关机
该方案需开发者级操作,通过编写 native application 接收火狐 download.onChanged 事件,并调用操作系统关机命令,适用于 Linux/macOS/Windows 全平台,权限控制严格。
1、在火狐地址栏输入 about:debugging#/runtime/this-firefox,启用“临时加载扩展”功能。
2、创建 manifest.json,声明 nativeMessaging 权限及 host name “com.example.shutdown”。
3、在系统指定位置(如 Windows 的 %PROGRAMFILES%\Mozilla\NativeHosts\)部署 shutdown_host.exe,该程序监听 STDIN 并执行 shutdown /s /f /t 0。
4、在扩展 background script 中添加监听逻辑:
browser.downloads.onChanged.addListener((delta) => {
if (delta.state && delta.state.current === "complete") {
browser.runtime.sendNativeMessage("com.example.shutdown", {"action": "shutdown"});
}
});
5、重启火狐并临时加载该扩展,下载任一文件验证 onCompleted 后是否触发关机流程。










