需启用协议处理权限、绑定系统默认应用、清除异常记录、启用Web App协议支持实验功能。具体包括:一、在Chrome设置中开启“协议处理程序”并勾选“网站可以请求处理协议”;二、Windows中通过“默认应用→按协议分配”将MAGNET等协议绑定至对应客户端;三、在chrome://settings/handlers中移除错误条目或重置全部协议处理记录;四、在chrome://flags中启用“Web App Protocol Handling”实验功能。

谷歌浏览器点击本地应用程序协议链接(如 magnet://、vscode://、obsidian://)后无反应、弹出“无法打开此链接”或直接跳转失败,说明 Chrome 未能将协议请求正确传递给系统或目标应用——这通常不是浏览器崩溃,而是协议处理链路在授权、注册或路由任一环节中断。
启用 Chrome 协议处理权限
这是整个流程的硬性前提。不开启,Chrome 会静默丢弃所有协议请求,后续任何设置都无效。
1、点击右上角三个垂直点 → “设置”。
2、左侧选“隐私和安全” → 右侧点“网站设置”。
3、向下滚动至“更多权限”区域 → 点击“协议处理程序”。
4、确保顶部开关为开启状态,并【务必勾选“网站可以请求处理协议”】。若未勾选,网页发起的 magnet:// 或 vscode:// 点击将完全不触发系统调用。
在 Windows 中绑定协议到具体程序
Chrome 自身不执行协议逻辑,它只负责把请求交出去;最终唤起哪个程序,由 Windows 系统决定。这一步必须手动完成,且必须精确匹配协议名大小写。
方法一:通过默认应用界面绑定
1、按 Win + I 打开系统设置 → “应用” → “默认应用”。
2、拉到底部 → 点击“按协议分配默认应用”。
3、在协议列表中查找 MAGNET(全大写)、VSCode、obsidian 等对应协议名(注意部分协议显示为小写,如 zoommtg)。
4、若右侧显示“无应用”,点击“添加一项” → 等待扫描;若未出现目标程序,确认该软件已完整安装并重启过一次(如 VS Code 需至少启动过一次才能注册协议)。
5、从列表中选择对应客户端 → 点击确认。
方法二:命令行强制注册(适用于扫描不到的程序)
以管理员身份运行 PowerShell,执行:cmd /c "C:\Users\%USERNAME%\AppData\Local\Programs\Microsoft VS Code\Code.exe" --register-protocol-handler "vscode"
路径需替换为你本地 VS Code 的真实安装路径;其他协议同理,如 obsidian、zoommtg。
清除 Chrome 协议处理异常记录
当某网站曾错误注册协议处理权,或旧版 PWA 注册残留,会导致新请求被拦截或路由错乱。重置是最快见效的兜底操作。
1、地址栏输入 chrome://settings/handlers 并回车。
2、页面显示“已注册的协议处理程序”列表,若看到来源可疑、名称含乱码或明显非当前使用网站的条目,逐个点击右侧“移除”。
3、若不确定哪些该留哪些该删,直接点击底部“重置所有协议处理程序”。
4、关闭该标签页,重启 Chrome 后测试 magnet:// 链接是否可唤起 qBittorrent。
启用 Web App 协议支持实验功能
新版 PWA 类工具(如 WebTorrent 官网、Obsidian Publish 页面、某些私有 IDE 前端)需依赖此功能才能主动注册为协议处理者。2026 年主流稳定版 Chrome 默认仍关闭该实验项。
1、地址栏输入 chrome://flags → 回车。
2、顶部搜索框输入 Web App Protocol Handling。
3、找到条目后,下拉菜单选择 Enabled。
4、页面底部点击“立即重启”按钮生效。
验证协议是否真正生效
不要仅靠网页点击测试——有些网站会自行拦截协议跳转。最可靠方式是绕过网页,直接在 Chrome 地址栏输入协议链接:
① 输入 magnet:?xt=urn:btih:xxxxxxxx(任意合法磁力哈希)→ 回车。
② 输入 vscode://file/C%3A/Users/xxx/test.js(路径需 URL 编码)→ 回车。
③ 若弹出系统提示“是否允许此网站打开外部应用”,勾选“始终允许”,再点“打开”。
④ 若直接唤起对应客户端,说明修复成功;若仍报错“无法打开此链接”,返回第一步检查“网站可以请求处理协议”是否被意外关闭。



















