Firefox 63 представил привилегированный метод доступа Element.openOrClosedShadowRoot
( документация MDN ), чтобы разрешить веб-расширениям получать доступ к теневым корням независимо от их открытого / закрытого состояния.
Другие API, такие как querySelectorAll
, все еще подвержены влиянию изоляции теневого домена, поэтому для поиска теневых корней расширение должно пройти по всему дереву через NodeIterator
или TreeWalker
, чтобы проверить наличие теневых корней. Поскольку теневые корни могут быть присоединены к более поздним точкам расширений, возможно, придется также ждать изменений страницы с помощью наблюдателей мутаций, прежде чем пытаться получить доступ к теневой DOM, поэтому в целом этот подход менее эргономичен c, чем при использовании querySelector
, но, по крайней мере, это возможно.