浏览器版本发布频谱

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费积分!

每当浏览器升级版本时,它都会成为一个小型的营销活动,而且理应如此。看起来 Firefox 每个月都会发布一次 大约一个月,Chrome 大约 6 周 发布一次,而 Safari 则 每年 发布一次。

正如他们所说,Chrome 80 刚刚发布,我们得到了 一个视频一篇博文。如今,让我感到惊讶的是,这些版本中并没有我们所有开发人员都感兴趣的重大旗舰功能。也许是 巨大的分歧 正在发生,但更广泛地说,不同的前端开发人员(那些关心浏览器的人)从事不同的工作,因此关心不同的东西。

让我尝试通过此版本的特性概述来阐述这一点

  • 内容索引是一种访问浏览器已缓存的文件(您专门缓存的文件)的元数据的方法。这似乎是一个好主意,但我从未认真处理过类似的离线内容,因此它并不在我的专业领域内。
  • Web Workers 现在可以使用 ES 模块了。这很酷,我甚至都不知道它们以前不能用。
  • JavaScript 中的可选链,例如 obj?.name?.first。我非常喜欢。非常有用。这可能是大多数 JavaScript 开发人员都赞赏的功能。但是 Chrome 是第一个推出此功能的,所以如果您喜欢它,最好使用 Babel 进行转换。我们还可以使用 ??
  • 来源试验就像特性标记,只不过您可以从 网站 选择加入,而不仅仅是在本地浏览器中。这对我来说完全是新事物,但听起来它们在收集和改进新的 API 方面非常有效。
  • 周期性后台同步。Jeremy 在他的文章中阐述了这有多么有用,他在文章中称之为 “静默推送”。您还可以安排通知,使其在脱机情况下更具弹性。
  • 如果网站是 HTTPS,则 HTTP 内容会尝试自动升级到 HTTPS。好主意。我使用 Cloudflare 的设置来实现这一点,但将其移到浏览器级别也说得通。
  • JavaScript 可以 gzip 流。我理解 gzip 是什么,但感觉这超出了我的理解范围。还有很多完全超出我专业领域的内容,例如解码加密媒体等。
  • 联系人选择器 API。我非常喜欢它,就像我喜欢 Web Payments API 一样。如果我可以构建一个 UI 来帮助用户更快、更准确地填写表单,那将非常棒。这就是我使用 1Password 的原因。我使用它来填写地址和信用卡表单,就像使用它来填写密码一样频繁。
  • SameSite cookie。这让我感到害怕。我知道我们需要更新 CodePen 上的 cookie 以确保它具有此值,但我还没有深入研究,而 80 版本已经发布了。
  • 真正的 CSS 内容!line-break: anywhere;overflow-wrap: anywhere; 我似乎无法理解它们之间的区别。这些内容已经 非常复杂 了。
  • 没有与 HTML 相关的内容。可怜的 HTML 从未获得任何东西。

然后是两个真正吸引我眼球的!

  • SVG 收藏夹图标。太棒了。我们已经为 CodePen 发布了一个,因为它在 Safari 上看起来很漂亮。尽管 Safari 使用 <link rel="mask-icon" href="..."> 支持它,而 Chrome 使用 <link rel="icon" href="..."> 支持它,所以我不太确定该怎么做。我想既然 Firefox 使用 rel="icon" 支持 SVG,那么就为两者都发布 SVG 吧?
  • 文本片段。太酷了。我没想到会这样。人们至少讨论了十年的时间。这个想法是链接到页面上的内容,而无需使用 nameid 来链接到,只需使用文本即可。语法很奇怪
https://site.com/#:~:text=Links to first occurance of this text.

这是 Stefan Judis 的一个视频

对我来说尤其值得注意的是:它将您链接到页面的中间,而不是 顶端。我更喜欢这样。