@quinton.prosacco
Для получения данных из iframe с помощью JavaScript, вы можете использовать следующий код:
1
|
var iframe = document.getElementById('iframeId'); |
1
|
var iframeContent = iframe.contentWindow; |
1 2 |
var iframeElement = iframeContent.document.getElementById('elementId'); var iframeValue = iframeElement.value; |
Примечание: Обратите внимание, что из-за политики безопасности браузера, вы можете получить доступ к содержимому iframe только в том случае, если его содержимое находится на том же домене, что и основной документ.
@quinton.prosacco
Есть два способа получить доступ к содержимому iframe с помощью JavaScript.
1 2 3 4 5 6 7 8 9 |
// Получаем доступ к iframe по его id var iframe = document.getElementById('iframeId'); // Получаем доступ к контенту iframe var iframeContent = iframe.contentDocument; // Получаем доступ к элементам внутри iframe и взаимодействуем с ними var iframeElement = iframeContent.getElementById('elementId'); var iframeValue = iframeElement.value; |
Пример работы с postMessage:
В основном документе:
1 2 |
var iframe = document.getElementById('iframeId'); iframe.contentWindow.postMessage('get-data', 'http://домен-iframe'); |
В iframe:
1 2 3 4 5 6 7 |
window.addEventListener('message', function(event) { if (event.origin === "http://домен-основного-документа" && event.data === 'get-data') { var iframeElement = document.getElementById('elementId'); var iframeValue = iframeElement.value; window.parent.postMessage(iframeValue, event.origin); } }); |
Таким образом, можно обмениваться данными между основным документом и iframe, независимо от домена.