Web组件在IE11和Edge中实际可用吗?

时间:2017-12-20 09:04:46

标签: internet-explorer-11 web-component polyfills custom-element

Web组件是热门新事物,也是真正的Web标准,每个人都在谈论它们并且可能使用它们,它们似乎是我们遇到的问题的完美解决方案(在不同的站点之间共享组件)。

因此我们构建了几个Web组件。 Chrome中的工作正常,但IE11中没有。使用polyfill可能吗? https://www.webcomponents.org/polyfills有大量的polyfill,但IE11一直在抱怨class

也许编译到ES5?各种来源声称Web组件需要ES6,因为您在IE11中没有从HTMLElement获得相同类型的继承。有自定义元素-es5-adapter.js,但不知何故它不起作用。如果我编译下来,webcomponents不起作用。如果不这样做,IE11将失败class

然而每个人都在使用网络组件。你怎么做呢?你根本不支持IE11 / Edge吗?我做错了吗?

1 个答案:

答案 0 :(得分:6)

如果你想要的只是自定义元素,那么你可以让它们与IE11和Edge一起使用。 Shadow DOM和HTML Imports也可以与IE11和Edge一起使用,但我个人不喜欢使用Shadow DOM,除了本机支持它的浏览器。

Firefox和Edge只能使用常规的polyfill。

IE11需要透明化为ES5并使用polyfill。

  

如果您在较新的浏览器上使用ES5转换代码,该代码支持class,那么您需要使用文件custom-elements-es5-adapter.js

有些人使用webcomponents-lite.js自动加载所需的polyfill文件。其他人加载特定的polyfill,如webcomponents-hi-ce.js(HTML导入和自定义元素)或webcomponents-sd-ce.js(Shady DOM和自定义元素)

https://github.com/WebComponents/webcomponentsjs