如何阻止Google Chrome新建窗口 无适配扩展时的最佳实现方案
阻止Google Chrome打开新窗口的实现方案
以下两种方案可以实现屏蔽新建窗口功能,同时覆盖你需要的禁用菜单选项、拦截快捷键的需求:
方案1:Chrome企业政策配置(最稳定原生方案)
该方案无需安装第三方扩展,是Chrome官方提供的管理能力,配置生效后「新建窗口」菜单项会自动置灰不可点击,Ctrl+N快捷键同步失效,同时还能拦截网页调用window.open弹出新窗口的行为。
不同系统的配置方式如下:
- Windows系统
- 按下Win+R输入
regedit打开注册表编辑器 - 定位到路径
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome,如果路径不存在则右键依次新建「项」,命名为Google、Chrome - 在Chrome项右侧空白处右键,新建
DWORD(32位)值,命名为NewWindowEnabled,数值数据设置为0,基数选择十进制 - 重启Chrome后生效
- 按下Win+R输入
- Mac系统
- 打开终端,执行命令:
defaults write com.google.Chrome NewWindowEnabled -bool false - 重启Chrome后生效
- 打开终端,执行命令:
- Linux系统
- 逐层创建路径
/etc/opt/chrome/policies/managed/ - 在路径下新建任意名称的json配置文件,写入内容:
{ "NewWindowEnabled": false }- 给配置文件添加全局可读权限,重启Chrome后生效
- 逐层创建路径
方案2:系统级快捷键屏蔽+弹窗拦截(适合不想修改系统配置的场景)
如果你不想修改注册表/系统配置,可以用该方案实现基础的拦截效果:
- 快捷键屏蔽:Windows系统可以通过AutoHotkey添加规则
^n::return,运行后全局拦截Chrome内的Ctrl+N触发;Mac系统可以进入「系统设置-键盘-快捷键-应用快捷键」,添加Chrome专属规则,将「新建窗口」的快捷键设置为无人使用的冷门组合(比如Ctrl+Alt+Shift+F12),实现变相屏蔽。 - 菜单项处理:原生Chrome不支持直接删除「新建窗口」菜单项,只有方案1的企业政策可以将其置灰不可用,如果必须要隐藏该选项,只能通过定制编译Chromium源码实现,普通用户不推荐该操作。
额外补充:如果需要拦截网页自动弹出的新窗口,可以进入Chrome设置的「隐私和安全-站点设置-弹出式窗口和重定向」,设置为「不允许网站发送弹出式窗口或使用重定向」即可。
内容的提问来源于stack exchange,提问作者alexleon
相关产品推荐
相关产品推荐

