JavaScript window.parent — батьківське вікно iframe


Властивість parent повертає батьківське вікно — те, що вміщує цей iframe.

автор: NagarD

Загальний опис

Якщо сторінка відкрита сама по собі, parent дорівнює самому window. Саме на цьому будується найкоротша перевірка «чи я в рамці»: window !== window.parent.

І це важливо не лише з цікавості: клікджекінг — атака, коли зловмисник відкриває твій сайт у прозорому iframe поверх свого й ловить кліки користувача. Перевірка допомагає її помітити (хоч надійно захищає лише заголовок X-Frame-Options із боку сервера).

Дістатись до вмісту батька з іншого домену не можна — лише надіслати йому повідомлення через postMessage().

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
parent 1+ 1+ 1+ 3+ 12+ 5+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
parent yes yes yes yes

Приклади

+ запропонувати свій приклад у пісочниці

Перевірка, чи сторінку не відкрито в чужій рамці.

// найкоротша перевірка «я в iframe?»
if (window !== window.parent) {
    console.warn('Сторінку відкрито в рамці');
}

// до вмісту чужого батька доступу немає — лише повідомлення
window.parent.postMessage({ type: 'ready' }, 'https://example.com');

// найвище вікно в ланцюжку рамок
console.log(window.top === window.parent);
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід