Я использую плагин jQuery blockUI, чтобы показать отличный «загрузчик» при каждом вызове AJAX и каждом изменении URL.
Вот полный код, отвечающий за это:
var rootPath = document.body.getAttribute("data-root");
$.blockUI.defaults.message = '<h3><img style="margin: 0 5px 5px 0" src="' + rootPath + '/images/process.gif" width="48" height="48" />In progress...</h3>';
$.blockUI.defaults.css.top = '45%';
$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
$(window).on('beforeunload', function(){$.blockUI();});
Во время вызова AJAX все в порядке, однако я заметил, что Chrome и Firefox отображают анимированное изображение (данное в $.blockUI.defaults.message
) во время перезагрузки страницы, то есть во время beforeunload
.
Это ошибка в этих браузерах? Или это задокументированный стандарт, который ломает только IE (который без проблем отображает изображение). Кстати: Анимация .gif
не является проблемой, как в Firefox, так и в Chrome не отображается даже статическая проблема .png
.
Может ли это быть как-то обходным путем? Я хотел бы иметь точно такие же загрузчики как при вызовах AJAX, так и при перенаправлении страниц/изменении URL.