扩展原生元素

可以扩展本机元素,但它们的后代不具有自己的标记名称。相反,is 属性用于指定元素应该使用的子类。例如,这是 <img> 元素的扩展,它在加载时将消息记录到控制台。

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" />