Я занимаюсь разработкой пользовательских элементов для базовых элементов многократного использования (например, кнопок, меню, таблиц данных и т. Д.). Мне известно о поддержке браузером пользовательских элементов и теневых DOM, но я хорошо справляюсь свообще доступные полифиллы.
Для некоторых пользовательских элементов я использую сторонние скрипты для дополнительной функциональности, но иногда они не работают должным образом, когда им приходится каким-то образом манипулировать DOM.
Это происходит каждый раз, когда внешний скрипт хочет найти элемент по классу или идентификатору.Очевидно, что вызов
document.getElementById (id)
или
document.getElementsByClassName (class)
не работает, потому что элемент с идентификатором или классом не может быть найден в глобальном DOM, но в теневом DOM.
Насколько я знаю, вы не можете дать переменной документа новую ссылку в javascript.
Итак, есть ли решение этой проблемы, не разбирая весь сценарий и не переписывая его, чтобы он стал пригодным для использования вконтекст DOM тени?
РЕДАКТИРОВАТЬ: Дело не в том, чтобы получать элементы из теневых DOM в целом, а в том, как можно использовать сторонние скрипты, которые не знают, что им нужно искать в теневом DOM, из которого они вызваны, а не в основном.DOM.Как указано в комментариях CBroe.