Chrome DevTools中这些骚操作,你都知道吗?

作者:Seven
大家好,我是 Seven
今天来分享 Chrome DevTools 中一些非常实用的功能和调试技巧!

一. 保留日志

当我们刷新完页面之后,通常控制台的 Console 面板就会被清空。如果想保留控制台的日志,就可以在设置中勾选 Preserve log 选项以保留控制台中的日志。

图片 1.png

保留日志设置,图源:@Seven

二. 显示重绘

在浏览器的开发者工具中可以通过开启显示重绘选项以查看页面在执行操作时哪些元素会发生重绘。在控制台右上角三个点中的 More tools 选项中开启 Rendering 选项卡:

图片 1.png

重绘开启界面,图源:@Seven

开启 Rendering(渲染)选项后,开启 Paint flashing:

图片 1.png

重绘显示效果,图源:@Seven

当刷新页面时,显示绿色的区域就是重新绘制区域。

三. 检查动画

Chrome 的开发者工具不仅可以调试样式,还可以调试动画,可以在控制台右上角三个点中的 More tools 选项中开启 Animations 选项卡:

图片 1.png

动画调试工具,图源:@Seven

当页面的动画执行时,就会在时间轨道上查看所有的动画,点击其中一个动画可以懂得执行过程以及时间轴:

图片 1.png

动画调试效果,图源:@Seven

我们可以在时间轴上定位到任一时刻的动画帧,也可以拖动左右两端的圆点来修改动画的延迟和周期,修改之后可以在属性面板看到对应的 CSS 样式。

四. DOM操作的段点

当页面的内容发生变化时,如果想要知道是哪些脚本影响了它,就可以给DOM设置断点。我们可以右键点击需要设置断点的DOM元素,在弹出的菜单中点击Break on以选择合适的断点。

图片 1.png

DOM设置断点,图源:@Seven

可以看到,Break on中有三个选项:
●Subtree Modifications:子节点(内容、属性)修改通知,常用在子节点内容发生变化后,来定位源码;
●Attributes Modifications:当前节点的属性修改通知,常用在节点的 className 等属性被修改后,来定位源码了;
●Node Removal:当前节点移动时通知,常用在节点被移除时,定位源码。

五. 双屏模式

通过启用双屏模式,可以在 Chrome DevTools 模拟器的双屏设备上调试你的 web 应用。这对于开发要适配折叠屏手机的应用是非常有用的。

图片 1.png

双屏开启效果,图源:@Seven


那该如何启用该功能呢?可以通过以下步骤来开启此功能:
1在任意页面打开 Chrome 浏览器的 DevTools;
2点击右上角设置图标 -> 选中左侧 Experiments -> 勾选 Emulation: Support dual-screen mode

图片 1.png

双屏设置界面,图源:@Seven

3、重启浏览器的 DevTools;
4、①切换到移动设备调试 -> ②选择一个双屏设备 -> ③点击上方的切换双屏模式。

图片 1.png

双屏开启效果,图源:@Seven

 关注Mapmost,持续更新GIS、三维美术、计算机技术干货

Mapmost是一套以三维地图和时空计算为特色的数字孪生底座平台,包含了空间数据管理工具(Studio)、应用开发工具(SDK)、应用创作工具(Alpha)。平台能力已覆盖城市时空数据的集成、多源数据资源的发布管理,以及数字孪生应用开发工具链,满足企业开发者用户快速搭建数字孪生场景的切实需求,助力实现行业领先。

欢迎进入官网体验使用:Mapmost——让人与机器联合创作成为新常态

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。微信公众号:Mapmost

<think>我们正在讨论的是如何在Chrome DevTools中强制禁用CORS(跨域资源共享)限制。根据用户的问题,他之前已经得到了关于避免跨域预检请求的方法,现在特别关注如何在DevTools中禁用CORS。 注意:用户提供的引用[1]是关于Vue Devtools安装和使用的指南,其中提到了一些安全策略(如禁用开发者模式、CSP等),但并未直接涉及禁用CORS。因此,我们将主要基于已知的浏览器调试技巧来回答。 在Chrome DevTools中,并没有直接提供一个开关来禁用CORS。但是,我们可以通过以下几种方式在本地调试时绕过CORS限制: 1. 使用Chrome命令行启动参数:通过添加特定的命令行参数来启动Chrome,可以禁用Web安全策略,从而绕过CORS。 2. 使用浏览器扩展:安装专门用于禁用CORS的浏览器扩展(但注意扩展的安全性,参考用户提供的引用[1]中关于安全使用扩展的建议)。 3. 修改本地服务器响应头:在本地开发服务器中设置CORS响应头(如Access-Control-Allow-Origin: *),但这不属于在DevTools操作。 鉴于用户特别询问在Chrome DevTools中强制禁用CORS的方法,我们需要澄清:DevTools本身不提供禁用CORS的选项,但我们可以通过DevTools控制台临时关闭CORS(仅适用于某些场景)吗?实际上,控制台也无法直接关闭CORS。 因此,我们只能提供通过命令行启动Chrome的方法,这是最常用的方式。 具体步骤: 步骤1:关闭所有正在运行的Chrome实例。 步骤2:根据你的操作系统,使用命令行启动Chrome并添加参数: 对于Windows: ``` chrome.exe --disable-web-security --user-data-dir="C:\TempChrome" ``` 对于macOS: ``` open -n -a "Google Chrome" --args --disable-web-security --user-data-dir="/tmp/chrome_dev_test" ``` 对于Linux: ``` google-chrome --disable-web-security --user-data-dir="/tmp/chrome_dev_test" ``` 参数说明: - `--disable-web-security`:禁用同源策略,这将允许跨域请求。 - `--user-data-dir`:指定一个单独的临时用户数据目录,这样不会影响你正常的浏览器数据。注意:路径需要存在,如果不存在请先创建。 步骤3:使用这个新打开的Chrome窗口进行调试。在这个窗口内,CORS限制将被禁用。 重要警告: 这种方法只适用于本地开发和调试,绝对不要用于日常浏览,因为它会关闭重要的安全保护。 另外,用户引用的内容中提到了安全使用扩展的建议,如果我们使用扩展来禁用CORS,则需要注意扩展的来源可信。但这里我们并没有推荐具体的扩展,因为使用命令行参数的方式更直接且不需要安装额外扩展。 由于用户特别提到了“DevTools”,我们也可以说明一下:在DevTools中,我们无法直接禁用CORS,但是我们可以利用DevTools的“Local Overrides”功能覆盖服务器响应头,间接解决CORS问题。不过这种方法较为复杂,需要手动添加CORS响应头。 另一种在DevTools操作的方法是:在控制台中发送请求时,使用`fetch`并添加`no-cors`模式,但这只能用于获取不透明的响应(无法读取响应内容),所以通常不是调试的好方法。 因此,我们主要推荐使用命令行参数的方式。 相关问题: 1. 禁用Web安全策略会对浏览器安全造成哪些风险? 2. 除了命令行参数,还有哪些方法可以在本地开发中绕过CORS? 3. 如何在Chrome中创建多个独立的用户配置文件? 4. 如何通过修改响应头来解决CORS问题? 5. 使用`no-cors`模式获取资源有什么限制? 注意:用户之前的问题中已经提到过命令行参数的方法,现在他特别询问在DevTools中的方法,所以我们需要解释清楚在DevTools中没有直接的方法,但可以间接通过覆盖响应头来实现。 下面我们将介绍如何使用DevTools的Local Overrides功能来覆盖响应头: 步骤: 1. 在DevTools中打开Network面板。 2. 找到跨域请求,右键点击该请求,选择“Override headers”(如果没有,可能需要先设置Overrides)。 3. 在Overrides选项卡中,我们可以添加响应头,例如: - Access-Control-Allow-Origin: * - Access-Control-Allow-Methods: GET, POST, PUT, DELETE - Access-Control-Allow-Headers: * 4. 保存后刷新页面,这样浏览器就会使用我们覆盖的响应头,从而绕过CORS限制。 这种方法需要事先设置Overrides,并且只能覆盖我们已经捕获到的请求,但对于调试特定请求非常有用。 总结回答: 我们将提供两种主要方法: 方法一:使用命令行参数启动Chrome(推荐)。 方法二:使用DevTools的Local Overrides功能覆盖响应头(适用于单个请求的调试)。 同时,我们也会提到使用扩展的方法,但提醒用户注意扩展的安全风险。 </think>### 在 Chrome DevTools 中强制禁用 CORS 的方法 在 Chrome DevTools 中无法直接禁用 CORS,但可以通过以下两种关联方法实现跨域调试: #### 方法一:通过 Chrome 启动参数全局禁用 **此方法会影响整个浏览器**: 1. 关闭所有 Chrome 进程 2. 根据操作系统执行对应命令: ```bash # Windows chrome.exe --disable-web-security --user-data-dir="C:\TempChrome" # macOS open -n -a "Google Chrome" --args --disable-web-security --user-data-dir="/tmp/chrome_dev_test" # Linux google-chrome --disable-web-security --user-data-dir="/tmp/chrome_dev_test" ``` 3. 新窗口顶部会显示 `--disable-web-security` 警告 4. 在此窗口中使用 DevTools 调试时将忽略 CORS 限制 > ️ 警告:此模式会禁用所有安全策略,仅限本地调试使用[^1] #### 方法二:通过 DevTools 局部覆盖响应头 **针对单个请求的解决方案**: 1. 打开 DevTools → Network 面板 2. 右键点击目标请求 → Block request URL 3. 切换到 Sources → Overrides → 创建本地覆盖文件夹 4. 创建同名请求文件的响应头覆盖: ```json // 文件名: .headers [ { "applyTo": "*", "headers": [{ "name": "Access-Control-Allow-Origin", "value": "*" }] } ] ``` 5. 刷新页面,被阻止的请求将通过本地覆盖响应头绕过 CORS #### 补充方案:使用 DevTools 扩展 安装 CORS 控制类扩展(需严格审核来源): 1. 搜索 Chrome 商店:`CORS Unblock` 或 `Allow CORS` 2. 安装后通过扩展图标启用 3. 在 DevTools 中验证跨域请求 > 💡 优先推荐启动参数方案,扩展方案需警惕安全风险[^1] ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值