服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

【第2913期】Chrome 112 :CSS 支持嵌套语法、document.domain 正式禁用!

日期: 来源:前端早读课收集编辑:ConardLi

前言

作为一名前端,太喜欢浏览器变得越来越强了。今日前端早读课文章由 @ConardLi 分享,公号:code 秘密花园授权。

前端早读课:有用的内容,值得看第二遍!

正文从这开始~~

Chrome 112 版本在 4.4 号发布了,我来带大家一起看看有哪些值得关注的更新。

一、CSS 支持嵌套语法

CSS 嵌套语法,基本上是大多数人最新换的 CSS 预处理框架(比如 Less、PostCSS)提供的能力之一了。

在以前,我们在原生的 CSS 中每个选择器都需要明确地声明,互相独立。这样会导致编写很多重复的样式,可读性以及编写体验都很差:

 nav {
background-color: red;
}
nav ul {
margin: 0;
padding: 0;
}
nav ul li {
list-style: none;
display: inline-block;
}

CSS 的原生嵌套语法在 Chrome 112 版本中正式支持了,支持嵌套的样式规则允许我们将规则嵌套在父选择器中,而不需要重复写父选择器,这样就可以极大简化 CSS 的编写,让代码更具有可读性:

 nav {
background-color: red;
ul {
margin: 0;
padding: 0;
li {
list-style: none;
display: inline-block;
}
}
}

嵌套语法可以帮助开发者减少选择器的重复编写,同时将相关元素的样式规则放置到一起,也可以更快速的匹配到这些样式的 HTML ,比如现在我们在代码里删除了 nav 这个元素,我们就不需要在样式文件里去搜索所有和它相关的选择器的实例了,只需要把这个样式组删除了就可以。

另外,Chrome 的 Devtools 也在最新版本支持了识别 CSS 嵌套语法,并帮元素匹配到正确的样式。

随着 Chrome 112 版本的发布,除了 CSS 支持嵌套语法外,还有桌面版 Chrome Apps 正式被移除,<dialog> 初始焦点的算法更新,以及如果用户代理发现所有 service worker 的获取监听器都是无操作(no-op)的,那么 service worker 的启动和导航关键路径中的监听器分配将被省略。

详细说明大家可以阅读:https://developer.chrome.com/articles/css-nesting/

二、document.domain 正式禁用

document.domain 在 Chrome 112 版本正式变为只读属性,如果你的业务里有通过更改 document.domain 来进行跨域的场景目前应该不起作用了,建议大家及时用 postMessage 或其他方案替代。

之前有详细介绍过,详细了解请看:Chrome 又搞事情,这种跨域方案要被禁用了!

三、X-Requested-With Header 开启弃用实验!

Chrome 准备在 112 版本中启动对移除 WebView 发出的 HTTP 请求中默认的 X-Requested-With Header 的弃用实验。

X-Requested-With 有一个很常见的用法,只要是 Ajax 请求一般会带上这个 Header ,而传统的网页请求不会,所以我们一般可以用它来判断一个请求是不是 Ajax 发出的。

基于这个原理,有些场景也会用它检测来自恶意应用程序的点击欺诈。比如很多前端框架(jQuery、Dojo、Django) 会基于它来做 CSRF 攻击的防御,不过这种方式并不严谨,后来陆续出现了几个关于它的漏洞(比如可以通过这个 Header 来让浏览器扩展冒充网站)。

在移动端,它的用法就完全不同了,从 WebView 发出的请求一般会默认携带一个 X-Requested-With Header,它的值是当前嵌入 apk 的软件包名称,本次弃用主要是针对这种场景。

为啥要弃用呢?还是因为保护用户隐私...

这个 Header 中可能会包括有关用户当前访问 Web 内容的上下文的特定信息,在一定程度上可以作为一种用户指纹来追踪一个用户,这些信息可能会通过这个 Header 泄露给三方在线服务。

当前还不是正式弃用,可能有一小部分被灰度到的用户会收到影响,大家可以及时检查下代码中的相关用法并及时做出改造。

四、SPA 丝滑的过渡效果

在两年前它还是个提案的时候我就介绍过它啦,用几行原生 JS 就可以实现丝滑的元素过渡效果!

当时的效果还是非常让人震撼的:

现在终于被浏览器(Chrome 111 版本)支持了,但是 API 也发生了一定程度的变化,当时叫 Shared Element Transitions(共享元素转换) ,现在已经更名为 View Transitions(视图转换) 了。

在 Web 上实现平滑的过渡效果是一个非常复杂的任务,我们往往会借助一些三方的动画库去实现,这些库的兼容性和性能往往是比较困扰我们的事情。

新的 View Transitions API 可以通过快照视图的能力和允许 DOM 在状态之间没有任何重叠的情况下进行渲染来简化这种过渡的实现,比如通过下面这样简单的代码就可以实现一个淡入淡出的效果:

 function spaNavigate(data) {
// 判断浏览器是否兼容
if (!document.startViewTransition) {
updateTheDOMSomehow(data);
return;
}

// 使用 transition
document.startViewTransition(() => updateTheDOMSomehow(data));
}

调用 .startViewTransition() 时 ,API 会捕获页面的当前状态。执行完成后,它会将 callback 调用传递给 .startViewTransition()。这时就会更改 DOM ,然后 API 会捕获页面的新状态。

注意,这个 API 目前只为单页应用程序 (SPA) 提供支持,其他的渲染模式的支持也正在施工中~

参考

  • Chrome 又搞事情,这种跨域方案要被禁用了!

  • 用几行原生 JS 就可以实现丝滑的元素过渡效果!

  • https://www.chromestatus.com/features#milestone%3D108

  • https://github.com/WICG/view-transitions

关于本文
作者:@ConardLi
原文:https://mp.weixin.qq.com/s/0sC5Bk5_FAel6lq819_cYQ

这期前端早读课
对你有帮助,帮” 赞 “一下,
期待下一期,帮” 在看” 一下 。

相关阅读

  • 干货|田静语法长难句笔记

  • 本文由蝶澈学姐原创,未经授权禁止转载基础不好,考研英语四月除了背单词还可以干啥?其实之前在4月规划里也说了,4月考研英语最重要的还是单词和语法打基础~所以突击检查一下,有没
  • 你们觉得,考研的人4月干这些够不够?

  • 本文由蝶澈学姐原创,未经授权禁止转载总感觉,是不是24的朋友关注我比较少?或者是确实还没正式开始备考?最近写24相关的文好像看的宝子都不多QAQ有没有24的宝在评论区给帮我嗷一
  • 一键下载 Endnote 库中引文PDF

  • 你还在为Endnote在家不能使用 web of science 下载PDF全文而苦恼吗?(前提学校已经购买权限)那么请不用发愁,使用这个技巧即可一键下载Endnote库中引文PDF。01新建输出样式1. 打
  • [语法] “one and a half dozen”表示7还是18?

  • 第322期(每周六、日推送)dozen 表示“一打”,即“12”,所以当大家看到 one and a half dozen,可能会进行两种计算:1)1+6=72)1.5×12=18(一又二分之一打)严谨来说,应该是第一个。不过 on
  • 一些常见的汉译英错误

  • 每年的四六级考试结束后网上经常可以看到不少对翻译题目的讨论。这些汉译英题目之所以让很多人头疼,很大原因是其中包含了大量的中国元素,而这些中国元素并不是那么好翻译。此
  • 推荐一本优秀的语法书

  • 我在之前的推文里面曾经介绍过一些国内学者写的英语语法或者用法书,比如《英语常用词疑难用法手册》以及《英语常见问题解答大词典》。跟国外同类书籍相比,这些书的优点是能够

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四
  • 美国对华2000亿关税清单,到底影响有多大?

  • 1 今天A股大跌,上证最大跌幅超过2%。直接导火索是美国证实计划对华2000亿美元产品加征25%关税。 听起来,2000亿美元数目巨大,我们来算笔账。 2000亿美元,按现在人民币汇率

最新文章

  • 【图书】GitLab CI/CD:从入门到实战

  • 前言GitLab,日常使用的工具。不知道大家使用深入的程度如何,个人是用的比较浅的。本书介绍从这开始~~DevOps CI/CD 理念与主流工具DevOps 运动的兴起给业界提供了一个参考答案。
  • 5月基金从业考试须知!!一文教你选择报考科目

  • 今年唯一一次基金从业统考将于5月20日-21日开考 距离考试仅剩38天!!01报名条件1.具有完全民事行为能力;2.截至报名日,年满 18 周岁;3.具有高中以上文化程度;4.中国证监会规定的
  • 机构围攻。。

  • 首先预告个直播,明晚七点小组夜话第二期开播,薛老师和朱老师会参与直播跟大家聊聊两个投顾计划:汇智乾坤和点睛组合,会跟大家聊到策略的思考和市场观点等等内容,记得戳下面的卡片