Превратить элементы iframe в текстовые данные?- JavaScript - PullRequest
0 голосов
/ 14 апреля 2019

С элементом iframe,

<iframe id="">
<html>
<head>
  <title></title>
<body>
<element attribute=""></element>
<etc... />
</body>
</html>
</iframe>

как бы получить все дочерние элементы iframe, не считая самого элемента iframe, скопировать элементы в виде текста и добавить этот текст в элемент textarea с идентификатором, совместимым с:

<meta http-equiv="X-UA-Compatible" content="IE=8"> 

... используя JavaScript.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 14 апреля 2019

Если вы не говорите о связи между методами из разных фреймов, не имеет значения, где размещен фрейм.Безотносительно к этой концепции, если вы хотите получить доступ к некоторому элементу DOM, можно использовать contentWindow из HTMLIFrame​Element​.Даже манипулирование элементом с этим методом разрешено на стороне клиента.Более подробная информация объяснена в MDN

Свойство contentWindow возвращает объект Window элемента.Вы можете использовать этот объект Window для доступа к документу iframe и его внутренней DOM.Этот атрибут доступен только для чтения, но его свойствами можно управлять как глобальным объектом Window.

Пример

Предположим, у вас есть iframe и его Shadow DOM Tree, и вы хотитеполучить доступ к элементу span, объявленному с foo id.

// HTMLIFrame​Element 
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");
...