Подтвердить что ты не робот

В какой степени Shadow DOM можно эмулировать с помощью polyfill?

Может ли черновик DOM W3C быть заполнен в JavaScript, предоставляя пользовательские функции для поиска и перемещения DOM? Это было сделано? Попытки, которые я нашел, были довольно смиренными прокладками и, похоже, не прилагали особых усилий для эмуляции спецификации.

Я ценю, что это непростая задача, но, безусловно, кто-то дал ей тщательное рассмотрение?

4b9b3361

Ответ 1

Я работал над этой проблемой последние несколько месяцев.

Суть в том, что здесь есть полифилл, который работает в вечнозеленых браузерах https://github.com/webcomponents/polyfills/tree/master/packages/webcomponentsjs

^ полифиллинг функций CSS, таких как @host, еще не готов, скоро появится

Так что, да, это сложная вещь для заполнения, особенно потому, что мы должны изобрести вторичные деревья DOM. Мы постарались сделать его максимально удобным для пользователя, что потребовало использования довольно инвазивной технологии обертки.

Другими словами, если вы div = document.createElement('div'), вы получите вещь, которая выглядит как DIV и работает как DIV, но на самом деле является объектом Wrapper. Конечная цель, конечно, состоит в том, чтобы ваш код выглядел одинаково, независимо от того, выполняется ли он в полифилле или в собственной реализации.

Это не 100% пуленепробиваемый. В частности, мы не можем обернуть document для вас, поэтому вы должны сделать это сами, примерно так:

wrap(document).querySelector(...)

Помимо проблемы document, оболочки предназначены для прозрачной работы. Это все совершенно новое, поэтому я прошу прощения за отсутствие документов. Мы работаем над этим, пока говорим.

Пожалуйста, сообщите о проблемах, если у вас есть вопросы или проблемы, мы хотели бы получить обратную связь. Существует также канал электронной почты для обсуждения этого полифилла (и других полифиллов в этой организации) по адресу [email protected]

  Я сомневаюсь, что этот материал широко реализован

Правда, но это в Chrome как минимум.