Почему вы не можете создавать пользовательские элементы в расширениях Chrome?

Я попытался создать пользовательский элемент в расширении Chrome, но customeElements.define имеет значение null.

customElements.define('customElement', class extends HTMLElement {
    constructor() {
        super();
    }
    ...
});

Поэтому, по-видимому, Chrome не хочет расширений для создания пользовательских элементов. Но почему? Это риск для безопасности?

Я не могу найти что-либо в руководстве по расширению Chrome, которое говорит, что это запрещено.

Ответ 1

Вы можете сначала проверить эту статью, чтобы полностью понять, что делают пользовательские элементы и как их создавать. Как обсуждалось, при создании настраиваемого элемента вам также необходимо проверить, доступен ли document.registerElement. В противном случае вы можете просто загрузить webcomponents.js чтобы полилизовать его.

Вот дополнительные ссылки, которые вы можете проверить для получения дополнительной информации.

Ответ 2

На данный момент custom element может использоваться в расширениях Chrome UI. В интерфейсе Popup, странице параметров, а также в скрипте содержимого. https://github.com/GoogleChromeLabs/ProjectVisBug - это один большой пользовательский элемент в расширении Chrome.