Всем добрый день!
Заказчик попросил присобачить сторонний скрипт на свой сайт, суть:
Скрипт подгружает iframe в котором находится свой document с div'ами и прочими html атрибутами, это обязательно необходимо подгружать через ajax т.к. этот скриптик должен подгружаться по нажатию кнопки, прикол в том, что при нажатие на кнопку вначале проходит пару секунд прежде чем начнется «строительство» всего document и заказчику это конечно не понравилось.
Скрипт бронирования номеров:
<script type="text/javascript" src="//ext.ihbooking.ru/loader.php?key=a6bb630f550135cf655e7201d7ce87f7&objid=801&customcss=gupmc&default=true&nodescription=true"></script>
Что необходимо:
Приделать глушилку (или прелоадер, называйте как хотите) на время пока формируется document и пока не загрузятся все div и изображения, как отследить этот момент? Может есть какое-нибудь событие которое сигнализирует о том, что все готово?
Набросал на скорую руку, для теста:
$.ajax({
type: "POST",
url: 'server.php',
dataType: "html",
data: '',
complete: function() {
console.log('Контент подгрузился (complete)');
},
success: function(result) {
console.log('Контент подгрузился (success)');
$("#content").html(result);
},
error: function(err) {
console.log(err);
}
}).always(function() {
console.log('Контент подгрузился (always)');
});
Все события срабатывают раньше чем загружается контент, подскажите, может кто решал подобное?
Решения с setTimeOut и подобные не подходят, может быть ситуация, что у пользователя медленный интернет и загрузка будет дольше обычного.