如何让Chrome的「启用请求阻止」在关闭开发者工具后保持生效?
解决Chrome请求阻止设置自动取消及跨标签同步问题
嘿,这个问题我太有共鸣了——Chrome自带的请求阻止功能确实好用,能记住要拦截的域名/URL,但每次关闭开发者工具后「启用请求阻止」的勾选就自动取消,新标签页还没法同步设置,确实挺闹心的。针对你的需求,这里有几个可行的方案:
1. 升级Chrome并启用实验性标志(推荐)
从Chrome 80版本开始,官方新增了一个实验性标志,可以让请求阻止的设置持久化保存,甚至跨标签同步:
- 在地址栏输入
chrome://flags/#devtools-persist-request-blocking - 将该选项设置为「Enabled」
- 重启Chrome后,你设置的请求阻止规则和「启用请求阻止」的状态就会被持久保存,即使关闭开发者工具也不会失效,新标签页也会同步这些规则
不过你当前用的是Chrome 79,得先升级到80及以上版本才能用这个功能哦。
2. 使用第三方请求拦截扩展
如果暂时不想升级Chrome,或者觉得实验性标志不够稳定,完全可以用专门的Chrome扩展来实现全局请求拦截:
- 这类扩展(比如「Request Blocker」「uBlock Origin」的自定义规则功能)是全局生效的,不需要保持开发者工具打开
- 设置的拦截规则会自动同步到所有标签页,甚至跨设备同步(如果你开启了Chrome同步功能)
- 操作起来也比DevTools的请求阻止更直观,大部分扩展还支持批量导入导出规则
3. 开启DevTools设置持久化(有限生效)
如果你坚持想用Chrome原生的DevTools功能,可以试试开启DevTools的设置持久化:
- 打开开发者工具,点击右上角的齿轮图标(Settings)
- 在「Preferences」面板里找到「Persist settings」选项并勾选
- 这个设置会让DevTools的部分配置(包括请求阻止的规则和启用状态)保存下来,但注意:它还是和单个标签页绑定,新标签页的DevTools依然需要手动开启请求阻止,只能解决关闭DevTools后当前标签的状态保存问题
补充一下:你提到的保持DevTools后台打开但新标签不同步的问题,是因为Chrome的开发者工具是和单个标签页绑定的,每个标签的DevTools实例都是独立的,所以设置不会自动同步,这是原生功能的设计限制。
内容的提问来源于stack exchange,提问作者R-D




