AJAX и "повисание" IE 6 @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 9 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Заголовок сообщения: AJAX и "повисание" IE 6
Сообщение Добавлено: 22 Август 2008, 13:28:46 
Активно использую jquery, версии обновляю своевременно. Обнаружил такую проблему на IE6 - при срабатывании onclick и последующей подгрузке контента на ajax IE тупо виснет. Причем, к примеру, в нашей сетке ничего не виснет. У знакомого в конторе - наоборот, виснет все. Версии смотрел, одниковые (6.0.2900). Недавно проблема всплыла еще в одном месте.

P.S. малость не точно выразился - зависает не только на onclick, а вообще при ajax-запросах, или в момент выполнения еще каких-то частей js, в общем, приведенная ниже ссылка вешает IE6, но далеко не везде...

Вот место, где наблюдается зависание (не только здесь) - http://noyabrsk-inform.ru/afisha

Кто-нибудь сталкивался с подобным?

_________________
Лишь одно в моём кармане - беспонтовый пирожок
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Сообщение Добавлено: 23 Август 2008, 09:27:23 
Продолжаю битву... у одних виснет, у других нет.

Прогонял тест http://jquery.com/test - везде "0 test failed".

Пожалуйста, откройте ссылку в IE6, у кого он есть - http://noyabrsk-inform.ru/afisha , и напишите о результатах... пока грешу только на наличие на странице нескольких асинхронных запросов $.post(), которые запускаются и выполняются паралельно. Делать их синхронными как-то совсем не интересно... очевидно, разница в версиях IE, потому прошу тех, у кого зависнет, запостить версию.

Поиск по гуглу пока результатов не дал. Но я более чем уверен, что проблему обозначил не я первый. Для более подробного разбора, если есть интерес, могу запостить сами скрипты, только их много... вот скрипты для главной:

Код:
<script language="javascript" type="text/javascript">
   
   var months = new Array();
   months = 'января февраля марта апреля мая июня июля августа сентября октября ноября декабря'.split(' ');
   
   // при загрузке страницы
   
   $(function(){
      $("#cbar > .header").remove();
      draw_left_menu();
      show_lenta();
   });
   
   // загрузка левого меню
   
   function draw_left_menu()
   {
      $("#lbar").html('<p><img src="/images/loading.gif" /></p>');
      
      $.post("/modules/afisha/get_lm.php",
         function(data) {
            $("#lbar").html(data);
         }
      );
   }
   
   function show_lenta( ts )
   {
      $("#left_lenta").html('<p>Загрузка ленты...</p>');
   
      $.post("/modules/afisha/lenta.php", { ts: ts },
         function(data){
            if ( $.trim(data) != '' )
               $("#left_lenta").html(data);
            else
               $("#left_lenta").html('<p>Нет событий на указанную дату</p>');
               
            show_week( ts );
         }
      );
   }
   
   function show_week( ts )
   {
      $.post("/modules/afisha/week.php", { ts: ts },
         function(data) {
            if ( !ts )
               $("#afisha_lenta > .header").after(data);
            else
               $("#week").html(data);
         }
      );
   }

   function over_day(td)
   {
      td.style.background = '#ffffff';
   }
   
   function out_day(td)
   {
      td.style.background = '#000000';
   }
   
   function click_day( ts )
   {
      var d = new Date();
      d.setTime( ts+'000' );
      var date = d.getDate();
      var month = months[d.getMonth()];
      $("#time").text(date+' '+month);

      show_lenta( ts );
   }
</script>

_________________
Лишь одно в моём кармане - беспонтовый пирожок
[cyber]form Муж.
участник
60
Сообщения: 1523
Зарегистрирован: 26.10.05
Откуда: Латвия/Лиепая
Сообщение Добавлено: 23 Август 2008, 09:39:18 
завис сразу. версия 6.0.2900

_________________
Жаль, что глупость не приносит болевых ощущений.
Антон Шандор ЛаВей
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Сообщение Добавлено: 23 Август 2008, 09:40:28 
[cyber]form, у меня такая же версия... и ничего не виснет... но там дальше еще цифры есть, можно их тоже запостить?

_________________
Лишь одно в моём кармане - беспонтовый пирожок
[cyber]form Муж.
участник
60
Сообщения: 1523
Зарегистрирован: 26.10.05
Откуда: Латвия/Лиепая
Сообщение Добавлено: 23 Август 2008, 09:52:21 
во
6.0.2900.2180.xpsp_sp2_rtm.040803-2158

_________________
Жаль, что глупость не приносит болевых ощущений.
Антон Шандор ЛаВей
pelot
новый человек
26
Сообщения: 232
Зарегистрирован: 24.08.05
Откуда: Lithuania
Сообщение Добавлено: 24 Август 2008, 11:04:30 
Версия: 6.0.2900.5503.xpsp.080306-1604

Все нормально функционирует.
vashurin
новый человек
9
Сообщения: 129
Зарегистрирован: 21.06.06
Откуда: Самара
Сообщение Добавлено: 24 Август 2008, 16:26:29 
А у меня IE вообще попытался установить флеш плеер и после этого завис.
Ну и версия IE:
Изображение
Короче виснит.

_________________
С уважение, Вашурин Владимир.
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Сообщение Добавлено: 25 Август 2008, 06:50:48 
Попробовал сделать все запросы синхронными

Код:
$.ajaxSetup( {
   async: false
} );


- то же самое. Дело не в одновременно выполняющихся асинхронных запросах

Добавил алерты на js, чтобы понять, где именно зависание происходить. Просьба повторить эксперимент...

_________________
Лишь одно в моём кармане - беспонтовый пирожок
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Сообщение Добавлено: 27 Август 2008, 05:19:46 
Решено. Уверен, что пригодится. Дело было не в jquery, а в отдающем контент скрипте. Так как контент формировался динамически, я старательно следовал написанному вот в этой статье: http://habrahabr.ru/blogs/webdev/17640/

Суть в заголовке:
Код:
header('Content-type: text/html; charset=windows-1251');


Дабы не исключать древние версии IE6, этот заголовок посылать в отдающем контент скрипте не нужно. То есть, все свежие браузеры работают и с ним, а вот некоторые версии IE6 вызывают "повисание". Пока не было времени разбираться, почему так. Если есть мысли, поделитесь.

_________________
Лишь одно в моём кармане - беспонтовый пирожок
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 9 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100