如何正确扩展 HTMLImageElement

How to properly extend HTMLImageElement

直接扩展 HTMLImageElement 适用于 Chrome、Firefox 等

export default class CustomImg extends HTMLImageElement {
    constructor() {
        super();
    }
}

但是它在 Safari 上不起作用,它说 super() 是非法构造函数。根据 MDN,Image() 是 HTMLImageElement (https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement) 的正确构造函数。我也尝试扩展图像。然而,即使它没有打印出任何错误,它的行为也不像 CustomElement。

关于如何在 HTMLImageElement 之上创建可同时用于 Chrome 和 Safari 的自定义元素的任何想法?

有 2 种不同风格的 Web 组件:
详情见

  • 自治元素(从 HTMLElement 扩展)
  • 自定义内置元素(从任何元素扩展)

但是Apple/WebKit不会实施2016中所述的后者:

https://github.com/WICG/webcomponents/issues/509