Последовательность событий такая:
- Генерируется скрипт
- скрипт создает и вставляет в mydiv елемент <iframe>
- iframe загружает содержимое с другого ресурса
И здесь целых две трудно решаемые проблемы:
iframe - это отдельный window, который содержит свой документ. и событие load у него тоже свое, никак не связанное с load основного окна.
Далее. Скрипт асинхронный. Он может вставить iframe после того как загрузится основной документ или раньше. Он также никак не синхронизирован с выполнением вашего скрипта. Он может выполниться позже или раньше вашего скрипта. Если позже - то ваш скрипт не найдет ифрейм потому что его еще не существует и событие load навесить будет не на что. Если раньше - то событие load также может произойти раньше и повесить на него обработчик нельзя ибо поезд ушел.
Поэтому лучше не заморачиваться и сделать так - поставить картинку loader.gif на backgound:
<div class="mydiv" style="background: url('loader.gif') no-repeat center center"/>
Когда загрузится документ в iframe, то закроет эту картинку своим фоном.
Последний раз редактировалось senex, 17.07.2018 в 02:22.
|