Я попытался определить новый пользовательский элемент, расширяющий HTMLFormElement, например:
class PrintableFormElement extends HTMLFormElement {
constructor() {
super();
console.log("created: ", this);
}
print() { console.log(this.elements)); }
}
customElements.define("printable-form", PrintableFormElement, { extends: "form" });
Это не работает правильно. <form is="printable-form" ...>
не имеет метода print()
(define(...)
похоже не работает), а new PrintableFormElement
не работает с ошибкой в Google Chrome 55.
new PrintableFormElement
выдал следующую ошибку:
Uncaught TypeError: Illegal constructor
at PrintableFormElement (<anonymous>:3:5)
at <anonymous>:1:1
Я понятия не имею, как определить расширение пользовательского элемента с помощью Custom Elements v1 в текущем Google Chrome.
Custom Elements v0 работает хорошо, но я хочу его использовать.