JavaScript Estensione di elementi nativi

Esempio

È possibile estendere gli elementi nativi, ma i loro discendenti non possono avere i loro nomi di tag. Al contrario, la is attributo viene utilizzato per specificare quale sottoclasse si suppone un elemento da utilizzare. Ad esempio, ecco un'estensione dell'elemento <img> che registra un messaggio alla console quando viene caricato.

const prototype = Object.create(HTMLImageElement.prototype);
prototype.createdCallback = function() {
  this.addEventListener('load', event => {
      console.log("Image loaded successfully.");
  });
};

document.registerElement('ex-image', { extends: 'img', prototype: prototype });
<img is="ex-image" src="http://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon.png" />