Как взять title из iframe и передать его странице в которой он загружается?

Пользователь

от autumn_parker , в категории: JavaScript , 6 месяцев назад

Как взять title из iframe и передать его странице в которой он загружается?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от magdalen_kub , 6 месяцев назад

@autumn_parker 

Для того чтобы получить значение title из iframe, вы должны сначала получить доступ к объекту iframe, а затем использовать свойство contentDocument или contentWindow для доступа к содержимому iframe. Затем вы можете получить значение title из contentDocument или contentWindow и передать его на основную страницу.


Пример:


HTML на основной странице:

1
<iframe id="myFrame" src="https://www.example.com"></iframe>


JavaScript на основной странице:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
// Получаем элемент iframe
var iframe = document.getElementById('myFrame');

// Проверяем, загружен ли iframe
iframe.onload = function() {
  // Получаем объект содержимого iframe
  var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
  
  // Получаем значение title из iframe и передаем его на основную страницу
  var iframeTitle = iframeDocument.title;
  document.title = iframeTitle;
};


Обратите внимание, что для доступа к содержимому iframe должны выполняться следующие условия:

  1. iframe и основная страница должны находиться на одном и том же домене. В противном случае, возникает ошибка безопасности "Blocked a frame with origin from accessing a cross-origin frame".
  2. Если содержимое iframe находится на другом домене, разрешить доступ к содержимому с помощью заголовка HTTP "Access-Control-Allow-Origin" или использовать технику JSONP для передачи данных между страницами.