首页 文章

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

提问于
浏览
10

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

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

也许编译到ES5?各种各样的消息来源声称Web组件需要ES6,因为你不需要't get the same kind of inheritance from HTMLElement in IE11. There'的custom-elements-es5-adapter.js,但不知何故它不起作用 . 如果我不这样做,IE11将失败 class .

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

1 回答

  • 4

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

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

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

    如果您在较新的浏览器上使用ES5转换代码,它支持类,那么您需要使用文件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

相关问题