Почему Internet Explorer (или Chrome) не отображает мой GIF «Загрузка ...», а Firefox будет отображаться? - PullRequest
0 голосов
/ 06 мая 2010

У меня есть страница, которая запускает несколько запросов xmlHttp (синхронный, простой ванильный javascript, я хотел бы использовать jquery, спасибо за упоминание этого).

Я скрываю / показываю div с загрузочным изображением, основанным на запуске / остановке связанных функций javascript (иногда у меня вложена серия из 3-х функций вызова запросов xmlhttp).

div = document.getElementById("loadingdiv");
if(div) {
    if(stillLoading) {
        div.style.visibility='visible';
        div.style.display='';

    } else {
        div.style.visibility='hidden';
        div.style.display='none';
    }
}

В Firefox это работает нормально. Div отображает и показывает GIF для необходимой обработки. В IE / Chrome, однако, я не получаю таких отзывов. Я могу только доказать, что div / image будет отображаться даже путем размещения методов alert () на месте, когда я вызываю приведенный выше код, это останавливает процесс и, по-видимому, дает рассматриваемым браузерам окно, в котором они нуждаются для отображения изменений dom .

Я хочу, чтобы IE / Chrome работал так, как он работает в Firefox. Что дает?

Ответы [ 2 ]

3 голосов
/ 06 мая 2010

Если xmlhttprequests не асинхронны, вы обнаружите, что IE по крайней мере не переписывает UI до тех пор, пока он не будет завершен (хотя не проверен в Chome), я сталкиваюсь с той же проблемой с не асинхронными $ .ajax jquery-запросами.

1 голос
/ 06 мая 2010

Я понимаю, что вы не спрашиваете о jQuery, но вы можете подумать об использовании jQuery, чтобы показать / скрыть ваш div для облегчения кросс-браузерной совместимости.

http://api.jquery.com/show/

http://api.jquery.com/hide/

Вот полезный урок:

http://www.learningjquery.com/2006/09/slicker-show-and-hide

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