Chrome79更新来啦,前端实用特性解读
今天终于在 MacOS 收到 Chrome79 的大版本更新了,话不多说,下面介绍和前端开发相关的几个实用特性:
1. 调试请求时Cookie被过滤的原因
- 打开Network面板,随意选择一个请求,在请求的Cookie面板中,可以看到1个新的checkbox:
show filtered out request cookies,默认是隐藏被过滤的请求Cookie。 - 勾选后可以看到被过滤的Cookie,黄色高亮底色显示。鼠标停在警告⚠️的图标上,可以看到Cookie被过滤的原因。比如图2中,被过滤的原因是cookie的domain和请求url的domain不匹配,虽然它们共享1个顶级域名的上层域名(TLD+1,比如 jd.com)。
点评:更好🉐️调试Cookie问题,比如为什么设置了Cookie请求没带上,有可能是设置的domain没对应上。


2. 模拟CSS媒体查询:色彩偏好模式和动效偏好模式
这两个特性算是比较新的媒体查询特性了:
- 色彩偏好模式,主要是用来切换白天/夜晚模式的
- 动效偏好模式,用来切换Web中的动画和过渡的
示例:打开任意网站的开发者工具
- 控制台执行以下代码,添加这两种新的媒体查询和样式
- 打开Rendering面板,找到对应的模拟选项,点击选择切换
const mediaCss = document.createElement('style');
mediaCss.textContent = `
@media (prefers-color-scheme: dark) {
* {
filter:grayscale(100%); /* Dark模式下所有元素灰阶100%,黑白色 */
}
}
@media (perfers-reduced-motion: reduce) {
* {
transition-duration: 0.1s !important;
animation-duration: 0.1s !important; /* 把所有过度时间和动画时间都降至最低的0.1s */
}
}
`
document.head.appendChild(mediaCss)
点评:相对来说,色彩模式应该会比较常用。在IOS的推广下,黑夜模式已经逐渐渗透到各个用户交互领域了,相信不久的将来各个浏览器会有黑夜模式的支持。黑夜模式和低动效模式的更多内容可以参考这篇文章:媒体查询: 色彩模式|动效模式|省流量模式


3. 代码覆盖率升级
这次升级后,代码覆盖率不再是之前的绿色风格了,切换为人类视觉更敏感的红蓝色。更为重要的是可以结合Source面板查看具体哪一行是否有执行。更🐂🍺的是,结合SourceMap可以看到源码级别的代码执行情况。
- 打开Coverage面板,可以看到代码执行覆盖率,点击某个url资源,可以在Source面板看到某个资源的每行的执行情况
- 有sourcemap的情况,可以直接在Source面板点击某个源文件,查看源文件每行的执行情况


4. 调试网络请求为什么发起
在开发过程中我们有时间需要看某个XHR请求是由谁发起的,SPA中某个JS是由谁发起异步加载。当然还有写爬虫要爬某个页面的情况。在以前的版本我们也能看到请求的Initiator,不过需要鼠标一直悬停在对应的位置才行,操作不方便

更新到Chrome79可以看到新的Initiator面板,调试起来更加方便

5. 其它
- bugfix: Console和Source面板现在会响应设置中的缩进(2空格、4空格还是Tab)
- keyboard: 增加浏览代码时上下移动光标的快捷键(Ctrl+P 上移一行、Ctrl+N 下移一行 )
英文好的同学可以直接看官方更新日志,地址: developers.google.com/web/updates…