Верный. Я поправил ответ

омпоненты - это горячая новая вещь и настоящий веб-стандарт, все о них говорят и, вероятно, используют их, и они кажутся идеальным решением проблемы, которую мы имеем (совместное использование компонентов на самых разных сайтах).

Итак, мы создаем пару веб-компонентов. Работа отлично в Chrome, но не в IE11. Может быть, использовать полифилы?https://www.webcomponents.org/polyfills имеет тонну полифилов, но IE11 продолжает жаловаться наclass.

Компилировать до ES5 возможно? Различные источники утверждают, что веб-компоненты требуют ES6, потому что вы не получаете такого же наследования от HTMLElement в IE11. Там есть custom-elements-es5-adapter.js, но почему-то это не работает. Если я компилирую, веб-компоненты не работают. Если я не, IE11 не работаетclass.

И все же все используют веб-компоненты. Как ты делаешь это? Вы вообще не поддерживаете IE11 / Edge? Я делаю что-то неправильно?

Ответы на вопрос(1)

вы можете заставить их работать с IE11 и Edge. Shadow DOM и HTML Imports могут работать также с IE11 и Edge, но мне лично не нравится использовать Shadow DOM, кроме браузеров, которые поддерживают его изначально.

Firefox и Edge будут работать только с обычным полифилом.

IE11 должен быть перенесен в ES5 и использовать polyfill.

Если вы используете переносимый код ES5 в более новом браузере, который поддерживаетclass тогда вам нужно использовать файлcustom-elements-es5-adapter.js

Некоторые люди используютwebcomponents-lite.js который автоматически загрузит необходимые файлы полизаполнения. Другие загружают определенный polyfill, какwebcomponents-hi-ce.js (Импорт HTML и пользовательские элементы) илиwebcomponents-sd-ce.js (Shady DOM и пользовательские элементы)

https://github.com/WebComponents/webcomponentsjs

 Intervalia30 авг. 2018 г., 18:14
Верный. Я поправил ответ
 mcv04 янв. 2018 г., 15:46
Насколько я понимаю, custom-elements-es5-adapter.js предназначен только для новых браузеров и не должен загружаться в IE11. Кажется, что этот подход не будет работать, если я хочу обслуживать все браузеры одинаковыми файлами, поэтому я перешел на использование document-register-element.js, который должен работать из коробки, но не включает поддержку shadow dom , Я пытаюсь объединить это с shadydom.js, но это, похоже, не работает.

Ваш ответ на вопрос