Nik_o_lay
@Nik_o_lay
Изучаю фронтенд

Как узнать на каком домене находится iframe?

Есть сайт A на React.js.

Он будет запакован в iframe на другом сайте B.

Как мне изнутри сайта A узнать домен сайта B?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
@zkrvndm
Боты, парсеры, расширения
Вам нужно использовать интерфейс postMessage для общения с фреймом.

Допустим на сайте site1.ru нам нужно вставить фрейм показывающий сайт site2.ru

Для этого просто добавляем обработчик, который после подгрузки фрейма отправит в него URL на котором данный фрейм просматривается:
<iframe onload="this.contentWindow.postMessage(location.href, '*');" src="https://site2.ru"></iframe>

Чтобы site2.ru (который находится внутри фрейма) мог получить сообщение с адресом, нужно на нем (на сайте site2.ru) разместить обработчик для просушивания сообщений:
window.addEventListener('message', function(event) {
	console.log('Поступило сообщение с адреса '+event.origin+' текст сообщения: ' + event.data);
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы