Как получить доступ к javascript-объектам iframe с родительской страницы?

Можно ли получить доступ к javascript-объектам iframe из javascript родительской страницы?

Ответ 1

Попробуйте это. Я предполагаю, что ваш iFrame id "targetFrame", а объект, который вы хотите вызвать, - targetObject, а также тот же домен. Если они не являются одной и той же областью, я думаю, что это невозможно.:

document.getElementById('targetFrame').contentWindow.targetObject

Ответ 2

Если iframe src не находится в том же самом происхождении/домене, что и родительский, у вас будут ограничения

из-за политики одинакового происхождения (политика безопасности) https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript

В политике планируется заблокировать доступ к личным данным, таким как токены CSRF и другие личные данные, хранящиеся в фрейме, например, если вы создаете страницу html с iframe of bank.com то, когда люди попадают на ваш сайт, если они заносятся в банк .com, их личные данные будут храниться в iframe по той причине, что политика одного и того же происхождения будет блокировать различные источники доступа к другим данным через iframes.

Ответ 3

Вы также можете получить доступ к объектам дочернего iframe, используя родительский объект окна.

alert( window.frames[0].variable_name );

Он отобразит значение переменной, variable_name, из первого iFrame. Индекс списка кадров может использоваться для доступа к значениям переменных в кадрах.