Если вы не говорите о связи между методами из разных фреймов, не имеет значения, где размещен фрейм.Безотносительно к этой концепции, если вы хотите получить доступ к некоторому элементу DOM, можно использовать contentWindow
из HTMLIFrameElement
.Даже манипулирование элементом с этим методом разрешено на стороне клиента.Более подробная информация объяснена в MDN
Свойство contentWindow возвращает объект Window элемента.Вы можете использовать этот объект Window для доступа к документу iframe и его внутренней DOM.Этот атрибут доступен только для чтения, но его свойствами можно управлять как глобальным объектом Window.
Пример
Предположим, у вас есть iframe и его Shadow DOM Tree, и вы хотитеполучить доступ к элементу span
, объявленному с foo
id.
// HTMLIFrameElement
let someIframe = document.getElementBy("idOfIframe");
// Global Object of the Iframe
let frameWindow = someIframe.contentWindow;
// Dom Tree of the Target Window
let domTreeofFrame = frameWindow.document;
let textSpan = domTreeofFrame.getElementById("foo");