Встречается на собеседованиях • сегодня

Можно ли взаимодействовать с iframe на странице

Да, можно взаимодействовать с iframe через JavaScript, но есть ограничения из-за политики безопасности Same-Origin Policy. Если iframe загружен с того же домена, можно получить доступ к его содержимому:

javascript
const iframe = document.getElementById('myIframe');
const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
iframeDoc.getElementById('element').style.color = 'red';

Для iframe с другим доменом доступ ограничен, но можно:

  1. Использовать postMessage для безопасного обмена сообщениями
  2. Установить document.domain для поддоменов одного домена

Пример postMessage:

javascript
// Родительская страница
iframe.contentWindow.postMessage('Hello', 'https://target-domain.com');

// В iframe
window.addEventListener('message', (e) => {
  if (e.origin !== 'https://parent-domain.com') return;
  console.log(e.data); // 'Hello'
});

Также можно управлять атрибутами iframe (src, width, height) без ограничений.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы