@Multigame

Можно ли узнать о переходе на другой URL в iframe?

Добрый день.

Подскажите, остались ли способы узнать текущий адрес, на который указывает ифрейм?
Событием или просто по таймеру запрашивая свойство?
  • Вопрос задан
  • 652 просмотра
Решения вопроса 1
@sanchos86
Frontend developer
1) В iframe добавить listener на событие popstate - onpopstate(если работаете с history api) или на событие load - onload(если смена url происходит стандартным способом).
2) Из iframe шлете сообщение во внешний мир через postMessage с нужной информацией.
3) На основной странице слушаете onmessage.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
Если фрейм с вашего же домена, то проблема элементарно решается через слушатель факта загрузки страницы:
iframe = document.querySelector('iframe'); // Ищем фрейм

// Вешаем на него слушатель:
iframe.addEventListener('load', function() {
	var new url = iframe.contentWindow.location.href;
	console.log('Изменён адрес внутри фрейма: ' + url);
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы