Определить, полностью ли загружена страница встраивания изнутри фрейма - PullRequest
1 голос
/ 03 апреля 2019

Я хочу отправить сообщение из iframe, когда страница для встраивания полностью загружена. Как я могу определить, что это так внутри iframe?

Я уже пытался использовать eventListener для "DOMContentLoaded"

document.addEventListener("DOMContentLoaded", postMessageFunctionCall);

Но он не реагирует на событие со стороны родителя. Есть ли возможность реагировать на это событие изнутри iframe?

1 Ответ

0 голосов
/ 03 апреля 2019

Если страница и iframe имеют одинаковое происхождение, вы можете перехватить событие с помощью parent:

parent.document.addEventListener("DOMContentLoaded", postMessageFunctionCall);

Это не будет работать с кросс-происхождением.

Поскольку это устанавливает условие гонки, вы можете сначала проверить документ readyState:

if (parent.document.readyState !== "loading") {
    postMessageFunctionCall();
} else {
    parent.document.addEventListener("DOMContentLoaded", postMessageFunctionCall);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...