2

A new version of the custom elements has been released at some point in the past (not sure when, as I haven't directly used the spec for awhile). Is there any polyfill or environment that implements the new custom elements specification?

Reason I am asking is that I will be giving a talk on Friday about the web components specs and it will hardly do to give a talk without a demonstrations, but from what I can see all browsers and polyfills still implement the old spec. Looking at web archive I can see that the new spec has been around for at least a few months, so I would expect it to be implemented at least somewhere.

David Mulder
  • 26,123
  • 9
  • 51
  • 114

1 Answers1

4

2020 Update: now it runs in Chrome, Opera and Edge (Blink), Firefox (Gecko), and partially on Safari (WebKit).

Otherwise you can use a polyfill from WebReflection for IE11 / Firefox / Chrome.

Presentation of what has changed here.


The Custom Elements v1 Specification is available since Chrome v53. It's a native implementation.

Note: You have to run it with a flag to activate the feature:

> chrome --enable-blink-features=CustomElementsV1

You can add the flag in your shortcut if you want.

PS: I recommend to use the last build (Canary) because the implementation is being updated on a regular basis.


Running Example :

class CEv1 extends HTMLElement 
{
  constructor () 
  {
    super()
    console.log( "created this=", this )            
  }
  
  connectedCallback ()
  {
    this.innerHTML = "Hello V1!"
  }
} 
customElements.define( "test-v1", CEv1 )
<test-v1>Feature not activated</test-v1>
Supersharp
  • 29,002
  • 9
  • 92
  • 134
  • Thank you so much, I actually did check both Canary and the Firefox nightlies, but I didn't think about checking for flags or anything along those lines. – David Mulder Aug 03 '16 at 06:58