Вот код:
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 срабатывает на родителя?