@Giperoglif

Почему jQuery(window).on('load', function () { }) в PJAX не дожидается загрузки ресурсов?

Вот код:
jQuery(window).on('load', function () {
$(this).widgetPlugin("sendDocHeightMsg");
});

подгружается PJAX'ом. Плагин рендерит некий массив картинок. Всё это дело рисуется в iframe на другом сайте. Собственно сам плагин делает postMessage родителю для динамической установки высоты iframe в зависимости от контента. Но он явно не дожидается загрузки картинок из-за чего выставляет неверную высоту. Когда картинки уже закэшировались - всё вроде бы начинает работать, а когда подгружает их то он срабатывает до подгрузки и высота всегда меньше - видимо высота того что успело загрузиться. Вроде бы же jQuery(window).on('load', function ()

должен ждать полной загрузки страницы со всеми ресурсами... Подскажите как победить?

пока в плагине сделал:
sendDocHeightMsg: function () {
			setTimeout(function () {
				var ht = $(this).widgetPlugin('getDocHeight');
				parent.postMessage(JSON.stringify({'docHeight': ht}), '*');
			}, 1500);
		}


но это супер костыль и всё равно правильная работа не гарантирована.

а может быть дело в iframe и on.load срабатывает на родителя?
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы