Есть ли среда, которая реализует новую спецификацию пользовательских элементов?

Новая версия пользовательских элементов была выпущена в некоторый момент в прошлом (не уверен, когда, поскольку я некоторое время не использовал спецификацию напрямую). Есть ли какой-нибудь 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>

Другие вопросы по тегам