2016-08-02 11 views
2

Eine neue Version der benutzerdefinierten Elemente wurde zu einem bestimmten Zeitpunkt in der Vergangenheit veröffentlicht (nicht sicher wann, wie ich die Spezifikation nicht direkt für eine Weile verwendet habe). Gibt es ein Polyfill oder eine Umgebung, die die neue Spezifikation für benutzerdefinierte Elemente implementiert?Gibt es eine Umgebung, die die neue Spezifikation für benutzerdefinierte Elemente implementiert?

Grund Ich frage ist, dass ich am Freitag einen Vortrag über die Web-Komponenten Spezifikationen geben werde und es wird kaum tun, um einen Vortrag ohne Demonstrationen zu geben, aber von dem, was ich sehe alle Browser und Polyfills immer noch die alten implementieren Spez. Wenn ich mir das Webarchiv anschaue, kann ich sehen, dass die neue Spezifikation schon seit ein paar Monaten existiert, also würde ich erwarten, dass sie zumindest irgendwo implementiert wird.

Antwort

4

Update: jetzt läuft es in Chrome v54 + und Opera v41 + ohne Flag benötigt.

Ansonsten können Sie ein Polyfill von WebReflection für IE11/Firefox/Chrome verwenden.

Präsentation von dem, was sich geändert hat here.


Die Custom Elements v1 Spezifikation ist seit Chrome v53 verfügbar. Es ist eine native Implementierung.

Hinweis: Sie haben es mit einem Flag ausführen, um die Funktion zu aktivieren:

> chrome --enable-blink-features=CustomElementsV1 

Sie können die Flagge in Ihrer Verknüpfung hinzufügen, wenn Sie möchten.

PS: Ich empfehle den letzten Build (Canary) zu verwenden, da die Implementierung regelmäßig aktualisiert wird.


Lauf Beispiel:

class CEv1 extends HTMLElement 
 
{ 
 
    constructor() 
 
    { 
 
    super() 
 
    console.log("created this=", this) \t \t \t 
 
    } 
 
    
 
    connectedCallback() 
 
    { 
 
    this.innerHTML = "Hello V1!" 
 
    } 
 
} 
 
customElements.define("test-v1", CEv1)
<test-v1>Feature not activated</test-v1>

+0

Danke so viel, ich habe tatsächlich sowohl Canary überprüfen und die Firefox Night, aber ich glaube nicht, für Flaggen über die Überprüfung oder irgendetwas in dieser Richtung. –