Улучшение jQuery UI диалога загрузки ajax для всех загрузок страницы - PullRequest
0 голосов
/ 26 июля 2011

Мой проект веб-разработки загружает много контента через JSON и AJAX (разве это не одно и то же).

Я реализовал загрузочный GIF-файл в диалоговом окне jquery UI. Это связано с событиями .ajaxStart и .ajaxStop.

$(document).ready(
        function () {
            $(window).load(function () { Load(); });
....

 function Load() {
.ajaxStart(function () {
//Show popup
}
.ajaxStop(function () {
//Hide popup

}

Так что это очень хорошо, и всякий раз, когда я загружаю контент через ajax, появляется всплывающее окно загрузки. Отлично. Мой следующий вопрос - отзывы, которые я получаю, - они думают, что странно, что для этого контента идет загрузка, но потом, когда вы запрашиваете новую страницу в веб-приложении, «загрузка» занимает некоторое время, и диалог загрузки отсутствует как и другие примеры загрузки AJAX. Лично для меня - это имеет смысл, но пользователю это не нравится.

Есть ли какой-нибудь простой способ подключить мой диалог к ​​загрузкам страниц? Я думаю, что если есть способ узнать / jquery событие, когда они запрашивают новую страницу, я могу просто открыть диалоговое окно загрузки и оставить его там до загрузки новой страницы.

Благодарен любой совет?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 26 июля 2011

Конечно, проверьте событие разгрузки.http://api.jquery.com/unload/

Так что буквально просто бросьте

$(window).unload(function () { Load(); });

В вашем документе готово, и он покажет всплывающее окно, когда пользователь переходит на новую страницу (может потребоваться настроить его, посколькуне нужно никаких ajax-запросов, учитывая, что вы не загружаете какие-либо данные динамически).

0 голосов
/ 26 июля 2011

Вы не можете выйти из диалогового окна загрузки, пока не загрузится следующая страница, потому что между выгрузкой текущего документа и загрузкой следующего часто бывает довольно большой разрыв.

Если бы ваш сайт был полностью ajax, то вы могли бы сделать это, но создание сайта полностью управляемым Ajax требует пристального внимания к деталям (поддержка кнопки «Назад», закладки, события и т. Д.), Поэтому я бы дважды подумал о переходепо этому пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...