![](https://i-blog.csdnimg.cn/blog_migrate/a67847b9791de85a20e3f37a0ec91e11.jpeg)
§1. General Purposes: Why I wrote this?
在 MacOS 上使用 Google Chrome 经常会遇到打开本地应用的请求,最常见的比如 AppStore,还有程序员经常用到的一些应用账号也需要在网页端登录再自动返回应用端比如 VSCode、Postman、Docker 等等。我们在打开这些应用之前往往会收到 Chrome 的一个申请弹窗,就像封面上那样,这时候你可能会勾选弹窗上 总是允许
的那个按钮,以后每一次打开对应的网页都会直接打开相应的应用,然而这个体验在接下来的日子里可能并不总是那么方便。这时候你就会好奇,该如何关闭这个设置,因为你找遍了 Chrome 所有的设置选项,都找不到这个。对,没错,我遇到了跟你一样的问题,所以我写了这篇东西来记录解决这个问题的过程。
阅读这篇文章需要注意日期,我用的是 Chrome 在当前这个时间 macOS 端最新的版本:Version 122.0.6261.94 (Official Build) (x86_64)
。也许后来 Chrome 做了更新,有些具体的配置不大一样了。但是你可以遵循我解决的这个过程,尝试解决你遇到的问题。
§2. Research Progress: What is Protocol Handlers & Configuration Files?
这里贴了一段关于 Protocol Handler 的介绍。一句话说,Protocol Handler 就是允许 Chrome 打开外部应用的协议接口。我们处理上面说的这种问题,本质上就是要找到 Chrome 设置 Protocol Handler 的存储位置。你可以先尝试在 Settings
里面找找看,大概率会找到这个界面:
![](https://i-blog.csdnimg.cn/blog_migrate/81cde9d535ebc7a240fb1d36248f2bc0.png)
这里就有点难受了,因为这里显然并没有列出你要的配置。事实上这个位置只存了一部分 Protocol Handler 的设置,比如说日历、邮件等等可以在这里找到。打开应用的功能确实不在这个位置,那它到底在哪里呢?
这里我其实是搜索了另一个问题,就是如何将重定向到 AppStore 这个功能关闭,主要是这个问题对于大部分 Mac 用户都会遇到,应该能搜到更多相关资料。那么结合上面这个参考资料以及上面知识点链接中的内容,我成功地找到了配置文件以及配置项的具体位置:
# 配置文件位置
~/Library/Application Support/Google/Chrome/Default/Preferences
# 配置项位置
protocol_handler ——> allowed_origin_protocol_pairs
![](https://i-blog.csdnimg.cn/blog_migrate/b7ec8efdd77eb6dd9afce4da598fbcea.png)
这里的 URL 是指网页链接,后面的项其实是应用启动的可执行文件名称;当 Chrome 打开这个链接时,这个 Protocol Handler 会自动启动相应的程序并在程序中完成对应的操作步骤。
§3. Summary: What I have done?
大概就是把如何解决这个小问题的过程和关键点记录了一下,希望能够帮助到有需求的小伙伴们吧!