Браузер "Busy State" с Ajax - PullRequest
       10

Браузер "Busy State" с Ajax

5 голосов
/ 08 августа 2009

У нас есть запрос Ajax, который занимает ок. 30 секунд, а затем отправляет пользователя на другую страницу. В течение этого времени мы, конечно, показываем индикатор счетчика ajaxy, но браузер также может «зависнуть», потому что клиент браузера на самом деле не работает или показывает свое собственное сообщение о загрузке.

Есть ли простой способ заставить все основные браузеры выглядеть занятыми с помощью команды JS?

Спасибо, Чад

Ответы [ 3 ]

2 голосов
/ 08 августа 2009

Вам нужно использовать AJAX в этой ситуации? Не могли бы вы вместо этого опубликовать / поместить на другую страницу, цель которой - обработать запрос и после завершения перенаправить на целевую страницу?

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

2 голосов
/ 08 августа 2009

Вы можете установить свойство CSS cursor для body в «wait». С прототипом это будет выглядеть так:

$(document.body).setStyle({cursor: 'wait'});

Я верю это код jQuery, кто-нибудь, пожалуйста, исправьте меня, если я не прав, поскольку я не эксперт по jQuery:

$("body").css("cursor", "wait");

Это заставит всю страницу показывать курсор мыши в песочных часах в Windows и вращающийся курсор в Mac OS.

0 голосов
/ 08 августа 2009

JQuery?

$('html').ajaxStart(function() { $('#busyindicator').show(); } );
$('html').ajaxStop(function() { $('#busyindicator').hide(); } );

Но, может быть, я не понимаю вашего вопроса. что значит «выглядеть занятым»? Вы хотите активировать индикатор выполнения браузера или собственный индикатор занятости? Не думай, что сможешь это сделать ...

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