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吗?我做错了吗?
答案 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和自定义元素)