如何配置谷歌Chrome浏览器使其通过特定协议打开链接时在新窗口打开?
如何配置谷歌Chrome浏览器使其通过特定协议打开链接时在新窗口打开?
嘿,我刚好碰到过类似的问题,结合你已经用navigator.registerProtocolHandler注册了自定义mailto协议的情况,给你几个亲测有效的办法:
方法一:修改注册协议的URL参数(最直接)
你之前的注册代码里,Gmail的链接可以通过添加特定参数强制在新窗口打开。只要在原URL末尾加上&window=1就行,修改后的代码如下:
navigator.registerProtocolHandler("mailto", "https://mail.google.com/mail/u/1/?extsrc=mailto&url=%s&window=1", "Business Email");
这个window=1是Gmail官方支持的参数,专门用来触发新窗口打开邮件撰写页面,不会和现有Gmail标签页冲突,亲测有效!
方法二:通过Chrome设置全局调整
如果参数修改后没生效,或者你想全局控制协议链接的打开行为,可以试试Chrome的内置设置:
- 直接在地址栏输入
chrome://settings/handlers,快速跳转到协议处理程序设置页 - 找到你之前注册的「Business Email」对应的mailto协议条目,先把旧的移除(避免冲突)
- 重新运行修改后的注册代码,再回到这个设置页,点击该条目旁的三个点,勾选「在新窗口打开」选项(如果有这个选项的话)
注意事项
- 如果你之前已经注册过旧的协议处理规则,一定要先移除再重新注册,否则Chrome会优先用旧的规则,新的参数不会生效
- 这个方法只针对你注册的自定义mailto协议,其他协议的话可以参考类似思路,看对应服务是否支持新窗口打开的URL参数
内容来源于stack exchange
相关产品推荐
相关产品推荐

