Чтобы передать переменную из iframe в родительское окно в JavaScript, вы можете использовать различные методы. Вот несколько часто используемых методов:
- API PostMessage: API PostMessage обеспечивает связь между окнами или фреймами из разных источников. Вы можете использовать
postMessageдля отправки данных из iframe в родительское окно и обработки их с помощью прослушивателя событий.
Пример:
В iframe:
// Send data to parent window
window.parent.postMessage('Hello', '*');
В родительском окне:
// Receive data from iframe
window.addEventListener('message', function(event) {
if (event.origin === '<iframe origin>') {
var data = event.data; // Access the received data
// Perform actions with the data
}
});
- Хеш URL-адреса: вы можете изменить хеш URL-адреса родительского окна, чтобы передать переменную из iframe. Родительское окно может затем прочитать хэш-значение с помощью JavaScript.
Пример:
В iframe:
// Set hash value in parent window
window.top.location.hash = 'Hello';
В родительском окне:
// Read hash value from iframe
var hashValue = window.location.hash.substr(1);
// Perform actions with the received value
- Локальное хранилище: вы можете сохранить переменную в локальном хранилище браузера и получать к ней доступ как из iframe, так и из родительского окна.
Пример:
В iframe:
// Set item in local storage
localStorage.setItem('myVariable', 'Hello');
В родительском окне:
// Get item from local storage
var data = localStorage.getItem('myVariable');
// Perform actions with the received data
Это всего лишь несколько способов передачи переменных из iframe в родительское окно. Не забудьте принять меры безопасности и убедиться, что у вас есть надлежащий доступ и контроль как над iframe, так и над родительским окном.