@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, независимо от домена.