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

问题描述 投票:15回答:1

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

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

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

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

internet-explorer-11 web-component polyfills custom-element
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.