Сделать элемент Polymer 3.0 обратно совместимым с IE11 и Firefox 56?

У меня есть компонент из полимера 3.0. В настоящее время из коробки поддерживается только версия Chrome 67.0.3396.99. И Firefox 61.0.1 выдает ошибку TypeError: window.customElements не определено.

Edge выдает следующую ошибку:

SCRIPT5007: SCRIPT5007: Unable to get property 'polyfillWrapFlushCallback' of undefined or null reference

settings.js (15,14). SCRIPT5131: SCRIPT5131: Function is not a constructor.

Документация по полимерам непонятна и не содержит пошагового руководства, которое работает без проблем. Может ли кто-нибудь предоставить проверенные и проверенные шаги, чтобы компоненты Polymer 3.0 работали в новейшем браузере, а также в старых браузерах, таких как IE11.

Вы используете полифил веб-компонентов?

Alan Dávalos 17.07.2018 19:04
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
1
1 206
3

Ответы 3

Установите полифиллы:

npm install @webcomponents/webcomponentsjs

Затем загрузите webcomponents-loader.js, чтобы проверить и загрузить любые полифилы, которые нужны вашему браузеру. В вашем index.html перед любой ссылкой на веб-компоненты добавьте следующее:

<script src = "node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>

Надеюсь, это кому-то поможет!

Полифиллы (webcomponent-loader.js) не работают в firefox 45

andylamax 07.08.2018 09:10

Мне удалось запустить его, добавив webcomponents-loader.js, например:

 <script src = "./node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
                <script src = "./components/subscriber-modal.js" type = "module"></script>

Но теперь мне нужно найти способ преобразовать ES6 WebComponent в ES5, чтобы использовать

<script src = "./node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"></script>

для запуска транспилированного компонента. Но просто использование babel дает ошибку, которая не определена. Так что попробую использовать browserify.

Обратите внимание, что вам нужно синхронно загружать ваш webcomponents-loader.js, поэтому убедитесь, что не используете async в вашем (в chrome он хорошо работает с async, но не работает). В первый раз я столкнулся с той же проблемой, и мой сценарий ниже:

<script src = "./node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js" async></script>

Другие вопросы по теме