现在使用自定义元素安全吗?

Is it safe to use Custom Elements today?

我知道Custom Elements were introduced a long time ago. And according to Caniuse,大多数主流浏览器都已经支持了。但我和我的团队负责人仍然很好奇它的支持范围是否足以在商业项目中使用自定义元素。我们是否需要 polyfill?

在我看来,自治自定义元素涵盖了大多数需要自定义元素的情况,我投票赞成使用它们。

P.S.: 忽略 Internet Explorer。

根据我的经验,您可以使用自定义元素。 多年来,我一直在为一个项目使用自定义元素,从来没有遇到过浏览器没有按照我的预期实现它们的任何问题或情况。

只需确保在必要时正确设置样式即可。

您可以使用自定义元素。我很久以前就使用过自定义元素,现在我从来没有使用过,因为它 很难与团队合作,那是肯定的 。最好的做法是尽量减少自定义元素的使用元素 ..

TL;DR; 是的,Web Components 是一个标准 ...不需要 polyfills


  • 自定义元素API
  • 阴影DOM
  • 模板

这 3 种技术也就是我们所说的 “Web 组件”

一个可以单独使用!

  • HTML 进口报废
  • 有些包括 ES 导入

“Web 组件”是 W3C 标准,所有现代浏览器都支持它:

Chrome(以及 Edge、Brave 和其他 运行在 Chromium 上使用)、Safari 和 FireFox

它们与任何其他 ES 技术一样都是标准

不要被讨论(我们现在所说的)“V0”标准的旧博客所误导;主要是 Google 让我们把东西扔到墙上,然后看看是什么棍子 派对;来自 Mozilla 和 Apple 的输入。

Web Components V1(从 2018 年初开始)是 solid Apple 的共同努力, Mozilla 和 Google.

Microsoft 在决定交换浏览器引擎并在 Chromium

上制作 Edge 运行 时加入了派对

(历史上)有 2 种自定义元素:

  • 自治自定义元素,从HTMLElement
  • 延伸
  • 自定义内置元素,从任何HTML元素扩展(例如:HTMLButtonElement

Apple 表示,自 2016 年以来,他们不会实施后者! (大多数深入挖掘的人都说 Apple 在这一点上是正确的)

还值得注意的是,in august 2019,W3C 签署了一项协议,WHATWG
(即:苹果+Google+Mozilla+微软)负责全部HTML和DOM开发; W3C 只会最终批准标准。

制定标准是一个缓慢(但稳定!)的过程,因为现在所有 4 家公司都必须达成一致。
但想想看……网络历史不过是(浏览器)wars...
在 Webs 30 年的历史中,你见过这样的合作吗?
那么未来会带来什么?

一个新的war已经在战斗中...很多开发者都忘记了
请注意缺少一个大的“前端”名称...
WHATWG 是 “仅限邀请”

另请阅读: