HTML-импорт веб-компонентов не работает в Firefox
Я пробую веб-компоненты в примере приложения. Так как некоторые спецификации не включены в некоторые браузеры, я попытался использовать для них polyfill. В Mozilla Firefox я попытался включить ключ dom.webcomponents.enabled и добавить некоторые полифилы (которых нет в браузере). Я использовал полифилл HTML Import из webfponents.js polyfill.
Тем не менее HTMLImport не работает в Firefox, Internet Explorer (даже с PolyFill). ( https://github.com/webcomponents/webcomponentsjs)
Я также пробовал customElements v1 polyfill, не работающий в Internet Explorer и Firefox. ( https://github.com/webcomponents/custom-elements)
Кто-нибудь преуспел в том, чтобы включить HTMLFimport polyfill с customElements V1 polyfill?
1 ответ
Чтобы использовать в Firefox пользовательские элементы v1 с импортом HTML:
- Не активируйте флаги Firefox, поскольку реализация устарела.
- Установите webcomponentsjs (например, с bower) и включите только в основной файл
htmlimports.min.js
файл. - Установите custom-элементы (по вашей ссылке) и включите в свой основной файл
custom-elements.min.js
,
Ваша главная страница должна выглядеть так:
<head>
<script src="htmlimports.min.js"></script>
<script src="custom-elements.min.js"></script>
<link rel="import" href="your-components.html">
</head>
<body>
<your-component></your-component>
Примечание: для шага 3 вы также можете использовать https://github.com/WebReflection/document-register-element.
Вы не можете использовать пользовательские элементы v1 class
Синтаксис с Internet Explorer напрямую, потому что class
не реализовано. Сначала вам нужно преобразовать исходный код с помощью транспилятора, такого как Babel.
Альтернативно, используйте современную версию (Edge), или используйте prototype
синтаксис.