2017-10-23 6 views
1

Wenn Sie customElements registrieren und html über den DOMParser mit customElements analysieren, werden sie nicht konstruiert, sie werden nur konstruiert, wenn sie an das Hauptdokument angehängt werden.Warum verwendet DOMParser nicht die registrierten customElements?

Ich kann nicht überprüfen, ob sie instanceof ein Element deswegen.

Gibt es eine Möglichkeit, den DOMParser zu zwingen, den customElements -Konstruktor zu verwenden und aufzurufen?

Ich weiß nicht wirklich zu analysieren, will die html mit dem DOMParser und eine Kopie mit document.createElement erstellen (mit document.createElement ruft tatsächlich das customElement Konstruktor auch wenn sie nicht angehängt)

Antwort

2

Ich fand document.importNode(_elem) dass ist tatsächlich in der Lage, das Element, bevor es anhängen

0

In diesem Dokument aufgebaut zu bekommen: https://w3c.github.io/webcomponents/spec/custom/#custom-elements-upgrades-examples

es erklärt:

Beachten Sie, dass Aktualisierungen nur für Elemente in der Dokumentstruktur gelten. (Formal sind Elemente verbunden.) Ein Element, das nicht in ein Dokument eingefügt wird, wird nicht aktualisiert.

dies zu verlängern, kann ein Element nur aktualisiert werden, nachdem zwei Dinge passieren:

1) Das Element definiert werden muss. 2) Das Element muss in der Dokumentstruktur vorhanden sein.

Verwandte Themen