Есть ли среда, которая реализует новую спецификацию пользовательских элементов?
Новая версия пользовательских элементов была выпущена в некоторый момент в прошлом (не уверен, когда, поскольку я некоторое время не использовал спецификацию напрямую). Есть ли какой-нибудь polyfill или среда, которая реализует новую спецификацию пользовательских элементов?
Причина, по которой я спрашиваю, состоит в том, что в пятницу я буду выступать с речью о спецификациях веб-компонентов, и вряд ли стоит выступать с докладом без демонстраций, но из того, что я вижу, все браузеры и полифилы все еще реализуют старую спецификацию. Просматривая веб-архив, я вижу, что новая спецификация существует не менее нескольких месяцев, поэтому я ожидаю, что она будет реализована хотя бы где-то.
1 ответ
Обновление: теперь он работает в Chrome v54+ и Opera v41+ без флага.
В противном случае вы можете использовать полизаполнение из WebReflection для IE11 / Firefox / Chrome.
Презентация того, что изменилось здесь.
Спецификация пользовательских элементов v1 доступна начиная с Chrome v53. Это нативная реализация.
Примечание: вы должны запустить его с флагом, чтобы активировать функцию:
> chrome --enable-blink-features=CustomElementsV1
Вы можете добавить флаг в ярлык, если хотите.
PS: я рекомендую использовать последнюю сборку ( Canary), потому что реализация обновляется на регулярной основе.
Пример выполнения:
class CEv1 extends HTMLElement
{
constructor ()
{
super()
console.log( "created this=", this )
}
connectedCallback ()
{
this.innerHTML = "Hello V1!"
}
}
customElements.define( "test-v1", CEv1 )
<test-v1>Feature not activated</test-v1>