【问题标题】:Is it safe to use Custom Elements today? [closed]现在使用自定义元素安全吗? [关闭]
【发布时间】:2021-08-23 03:32:24
【问题描述】:

我知道Custom Elements 是很久以前介绍的。根据Caniuse,大多数主流浏览器已经支持它。但是我和我的团队负责人仍然很好奇它的支持是否足够广泛,可以在商业项目中使用自定义元素。我们是否需要 polyfill?

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

P.S.:忽略 Internet Explorer。

【问题讨论】:

  • 请详细说明您在此上下文中“安全”的含义和/或您对“安全”的要求。
  • 自 2018 年以来,我将 Web 组件用于生产中的关键任务视图,并且没有被解雇。到目前为止,我们有超过 200 个。这是一个滑坡,但从长远来看,有一些标准是件好事。

标签: html custom-element


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您可以使用自定义元素。我很久以前就使用过自定义元素,现在我从不使用它,因为它很难与团队合作,这是肯定的。尽量减少自定义元素的使用始终是最佳实践。

    【讨论】:

      【解决方案3】:

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


      • 自定义元素 API
      • shadowDOM
      • 模板

      这 3 种技术是我们也称为 “Web 组件”的吗

      每个都可以单独使用!

      • HTML 导入已废弃
      • 有些包括 ES Imports

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

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

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

      不要被讨论(我们现在所说的)“V0”标准的旧博客误导;这主要是一个谷歌让我们在墙上扔东西,然后看看什么东西的派对;来自 Mozilla 和 Apple 的意见。

      Web 组件 V1(自 2018 年初以来)是 Apple、Mozilla 和 Google 的稳固共同努力。

      微软决定交换浏览器引擎并让 Edge 在 Chromium 上运行时加入了聚会

      (历史上)自定义元素有两种类型:

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

      Apple 已声明,自 2016 年起,他们不会实施后者! (大多数深入挖掘的人都说 Apple 是正确的)

      另外值得注意的是,in august 2019,W3C 签署了一项协议,即 WHATWG
      (即:Apple + Google + Mozilla + Microsoft)负责所有 HTML和DOM的开发; W3C 只会对标准给予最终批准。

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

      一场新的战争已经打响了……很多开发者都没有注意到
      请注意缺少一个大的“前端”名称...
      WHATWG 是“仅限邀请”

      另请阅读:main differences React, Lit, Web Components

      【讨论】:

        猜你喜欢
        • 2017-06-30
        • 2021-07-23
        • 1970-01-01
        • 2015-05-11
        • 2019-06-28
        • 1970-01-01
        • 1970-01-01
        • 2013-07-02
        • 1970-01-01
        相关资源
        最近更新 更多