Chrome 团队:2020 年了,浏览器兼容性还是一个大问题

来源: 投稿
作者: xplanet
2020-06-19

根据 2019 年 Web 开发人员需求评估(Web Developer Needs Assessment,DNA)调查,来自世界各地的 28,000 多名开发者所反馈的最大需求是浏览器兼容性问题——网站在不同网络浏览器上的外观或行为方式不同,这给开发人员带来不少痛苦。

因此,MDN 在 2020 年 3 月进行了一项针对浏览器兼容性的后续调查。这次调查揭示了 Web 开发人员在浏览器兼容性方面遇到的痛点。Chrome 团队通过一篇博客文章将其分享出来,并谈论了 Chrome 本身在这些问题上所做的努力。

Flexbox

Flexbox 是用于网络布局的工具,它提供了一种符合人机工程学的方式来定义可以在不同大小的视口上正常响应的布局。但是,如果不能在所有浏览器中都使用此功能 ,它的体验就不是很好。

Chrome 团队表示,Flexbox 是他们今年实现浏览器兼容性的首要任务之一,并已经在其中投入了大量资金。

具体来说,Chrome 渲染团队在现代 LayoutNG 布局引擎的基础上,对 Chromium flexbox 实现的架构进行了重新设计。这项工作预计会在 Chrome 84 中引入,它有望解决 Chromium 中的许多 Flexbox 兼容性问题。

他们也正致力于在今年内为 Chromium 提供 flex-gapfieldset+flex 支持。flex-gap 也将在 Chrome 84 中可用。

Scrolling(滚动)

在多个浏览器上正确滚动不是一件易事(例如,需要整个库来一致地锁定正文滚动)。Chrome 团队仍在研究有关滚动兼容性的反馈,目前为止,有几个关键领域很突出:

  • 虚拟键盘如何影响(或不影响)不同浏览器中的视口单元。 (Chrome 团队温馨提示:Microsoft Edge 在 VirtualKeyboard API 上的最新工作可能对此有所帮助。)
  • 与输入相关的事件以及与之交互的结果缺乏一致性。
  • 难以控制跨浏览器的滚动行为(例如,通过滚动锚定)。

表单控件

表单是 Web 中一个非常古老的部分,甚至早于 CSS。表单控件旨在模仿本机平台的外观,但它们未能始终如一地做到这一点,也未能满足现代 Web 开发的需求。兼容性调查在这方面揭示了两个主要问题:跨浏览器中的风格和行为不一致。

在样式表单控件方面,Microsoft Edge 和 Google Chrome 团队最近完成了这一项目,更新了基于 Chromium 的浏览器中的默认表单样式。

就行为而言,人们似乎普遍担心表单控件的行为未得到很好的指定,或者浏览器未始终遵循这些规范。一些具体示例是,当在包含表单的页面之间来回导航时,它们支持某些 <input> 类型、自动填充行为和内容恢复行为。

CSS Grid

像 Flexbox 一样,CSS Grid 是现代布局的重要组成部分。调查结果显示,似乎 Chromium 中对 CSS Grid 的支持还不错。但有一项例外——Chromium 仍然不支持 subgrid。

Chrome 团队透露,Microsoft Edge 的一个团队正在重新构造 Chromium 的 Grid 支持,以使用新的 LayoutNG 引擎。作为此计划的一部分,Chrome 也打算添加对 subgrid 的支持。

最后,Chrome 团队指出,当涉及到浏览器兼容性时,仍然有太多缺少的功能和边缘错误。如果浏览器供应商可以理解到这些造成麻烦的原因,并采取措施解决问题,一切将会变得更好。在接下来的时间里,Chrome 也将变得更加兼容。如果想参加浏览器兼容性调查,提供反馈,可以填写此表格

展开阅读全文
10 收藏
分享
加载中
精彩评论
现在是 Chrome 天天作恶导致兼容性更严重。。。
2020-06-19 09:09
33
举报
言外之意是都用chrome就没这个问题
2020-06-19 09:46
13
举报
这话应该送给 Safari
2020-06-19 10:09
6
举报
Chrome:事实标准。Edge:与大佬合作。Firefox:打酱油。其他:个位数。- -
2020-06-22 08:26
3
举报
因为那是第一版 Web Components 草案,是谷歌提出的,其它浏览器必然要用运行时补丁。太大的生产级项目如果用了早期提案,后面再升级就不会那么快。但其它浏览器实现的是定案的第二版 Web Components,后面 YouTube 再做重构的时候肯定会大家一样快。

就像 Firefox 是 Web Assembly 提案的作者,你不能因为有些高性能项目在火狐上用 Rust 写的模块很快,但其它浏览器早期版本只能用 Web worker 在后台跑 JS代码,你就抨击 Firefox 搞特殊、搞歧视、搞垄断!
2020-06-19 23:26
3
举报
最新评论 (40)
2020年了 计算机语言还没有统一
2020-07-05 18:56
0
回复
举报
76
是啊。谷歌和微软应该身体力行向firefox看齐,毕竟人家经费少嘛。
2020-06-23 22:41
1
回复
举报
Chrome:事实标准。Edge:与大佬合作。Firefox:打酱油。其他:个位数。- -
2020-06-22 08:26
3
回复
举报
就没人来管一管吗?如果铁轨的宽度也交给私人铁轨公司来定,那全世界一定会有八种不同铁轨宽度。
2020-06-21 16:04
1
回复
举报
事实上现在世界上就有很多铁轨宽度……;我们国内就有好几套,之前德国建的有一套,苏联建的有一套,后来我们自己建的又有一套……
2020-06-24 09:52
2
回复
举报
我错了。百度知道说世界上有30种铁轨宽度......,好多国家的铁轨宽度不同不是因为无知,而是一开始就故意设计成没打算让别的国家火车进来
2020-06-27 22:52
0
回复
举报
这两天用了一下新版edge浏览器,太好用了!内存占用比chrome低多了,速度仲伯之间,丝滑的使用体验。
2020-06-20 15:02
1
回复
举报
我觉得现在兼容最大的问题是谷歌的webkit和苹果的webkit
2020-06-19 23:48
1
回复
举报
这根本不是兼容问题,而是个人性作恶的问题
2020-06-19 17:48
1
回复
举报
Flexbox是个好设计,但是以前的稳定性不甚理想。若干年前有个项目几乎全用Flexbox布局去设计,需求基本都能实现,但是嵌套多了会经常导致迷之错位和渲染错误。后来的项目都弃用了。
2020-06-19 17:33
1
回复
举报
flexbox 现在早已不是问题,爽的一笔~ BootStrap 5.0 alpha 都开始升级到更强的 grid 布局了。
2020-06-19 23:19
3
回复
举报
一个糟糕的逻辑和现实是:在大家纷纷唾弃和弃用 IE 的同时,又纷纷造出好几个所谓主流的浏览器,而最主流的浏览器又在不断刷新版本号为娱乐,造就了同一浏览器下版本之间的各种差异。在想,这还不如以前 IE 称霸天下,只兼容 IE 的几个主流版本就好。
2020-06-19 16:40
0
回复
举报
从兼容性的角度来说没问题,但 IE 的功能性太弱了
2020-06-19 17:07
2
回复
举报
https://polyfill.io/ 一键搞定浏览器 API 差异,只需照着最新的写,兼容都是自动的~
2020-06-19 23:17
2
回复
举报
你回错人了
2020-06-20 10:54
0
回复
举报
还不是编译成旧代码? 很多新特性,不管你怎么转化,他都不可能支持
2020-06-23 09:21
0
回复
举报
现在的应该不是叫兼容性问题而是特性支持问题。
2020-06-19 13:18
1
回复
举报
更多评论
43 评论
10 收藏
分享
返回顶部
顶部