CanIuse говорит, что webcomponents
v1 включен в Firefox v. 61 с about:config
свойствами dom.webcomponents.customelements.enabled
и dom.webcomponents.shadowdom.enabled
установить на истину. И многие посты и статьи в сети согласны с этим.
Итак, у меня есть Firefox версии 61.0.2 с набором вышеупомянутых свойств, и у меня есть пользовательский элемент, определенный, как показано ниже. Это отображается, как и ожидалось, в Chrome, но в Firefox просто ничего не отображается и на консоли нет ошибок.
<template id="t">
...html content
</template>
<script>
let template = document.currentScript.ownerDocument.querySelector('#t');
class MyElement extends HTMLElement {
constructor() {
super();
this.shadow = this.attachShadow({mode: 'open'});
this.shadow.appendChild(template.content.cloneNode(true));
}
}
customElements.define('my-element', MyElement);
</script>
Если это имеет значение, я пытаюсь использовать пользовательский элемент в отдельном html-файле, в который я импортировал файл, содержащий приведенный выше код.
Я понимаю, что есть полифилл, который я могу использовать, но он недоступен в среде, в которой будет работать мое приложение. Я должен что-то упустить, так как все, что я читал в Интернете, похоже, указывает на то, что Firefox должен иметь возможность отображать элемент, как я его определил.