Я выдавливаю последние байты из моего svg-icon
Настроенного встроенного HTMLImage Элемент
Некоторые подробные вопросы:
Каковы последние новости о (будущем) Apple / Safari и настраиваемых встроенных элементов?
Есть ли где-нибудь обсуждение для разработчиков?
у меня возникнут проблемы из-за того, что вы не используете constructor()
и, следовательно, не будете звонить super()
?
То же самое, если вы не используете connectedCallback()
?
Бонусный вопрос:
attributeChangedCallback
получает параметр ЧЕТВЕРТЫЙ ... недокументированный
Кто-нибудь знает об этом больше?
Фрагмент показывает P4 object=null
во всех 4 браузерах: Chrome, Edge, FireFox, Opera
customElements.define("svg-icon", class extends HTMLImageElement {
static get observedAttributes() {
return ["color"];
}
attributeChangedCallback(name,oldValue,newValue,P4,P5) {
console.log('P4:',typeof P4,P4,'P5:',typeof P5,P5);
this.src = `data:image/svg+xml,<svg viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'>`
+`<circle cx='4' cy='4' r='4' fill='${newValue}'/></svg>`
}
}, { extends: "img" })
img{
width:10%;
}
<img is="svg-icon" color="red">
<img is="svg-icon" color="green">
<img is="svg-icon" color="blue">