![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| InvalidProperty |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 356 Регистрация: 31.10.2007 Где: Россия, Казань Репутация: нет Всего: 9 |
уже 5 часов лажу по форумам, ничего конкретного найти не могу, за исключением
Обработка догружаемых данных при readyState=3, но и это, к сожалению, не подошло, а, может быть, я сам что-то неправильно делаю. Для начала предоставлю исходный код JS:
Серверный код может быть абсолютно любым, например, на PHP:
Таким образом, на выходе мы должны получить state 1 через 5 секунд state 1 state 2 еще через 5 секунд state 1 state 2 state 3 Mozilla firefox и konqueror выдают именно то, что нужно, а вот IE говорит (цитирую) данные, необходимые для завершения этой операции, еще недоступны Я уже запарился искать в чем может быть проблема, хотя, скорее всего, она в кеширование IE, но что делать? Я пробовал изменить JS функцию getIndexReadyState() следующим образом:
FFx и konqueror также делают все так, как нужно, т.е. каждые 5 секунд вываливают обновленные данные, а вот IE в этом случае ошибки не выдает, но вываливает данные, только когда readyState = 4, т.е. в самом конце отдает целиком всю строку state 1 state 2 state 3 В чем может заключаться проблема? -------------------- dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null echo $0 >> $0 |
||||||
|
|||||||
| InvalidProperty |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 356 Регистрация: 31.10.2007 Где: Россия, Казань Репутация: нет Всего: 9 |
немного разобрался с работой AJAX, хотя и не так, как хотелось. Вот рабочий код Javascript
а вот это крутится на стороне сервера:
но, все-таки, я так и не разобрался как получить из IE частичные данные, ибо этот вариант будет сильнее тормозить сервер. Если у кого-нибудь есть какие-либо мысли, буду очень признателен их выслушать -------------------- dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null echo $0 >> $0 |
||||
|
|||||
| Avb |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 5.7.2006 Репутация: 4 Всего: 13 |
Поддержка всех ready state-ов не гарантируется во всех браузерах
|
|||
|
||||
| InvalidProperty |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 356 Регистрация: 31.10.2007 Где: Россия, Казань Репутация: нет Всего: 9 |
ну, это понятно, что не гарантируется, но почему тогда IE видит readyState=3, т.е. он может сказать, что вот в этот момент readyState равен 3, но данные отобразить не может.
Тогда следующий вопрос, по поводу утечек памяти браузеров, связанные с javascript. Каким образом можно догадаться, что из-за конкретного скрипта будет происходить утечка памяти? т.е. меня интересует, к примеру, создание объектов в скрипте: xmlHttp = new XMLHttpRequest(); в этом случае браузер должен зарезервировать память, а когда он ее освободит? Или же в случае с переменными: где они создаются, на стеке или в куче, и как они уничтожаются. Еще интересует следующая конструкция: setTimeout("some_function();", 500); В этом случае тоже резервируется память. Но как она очищается? Это сообщение отредактировал(а) InvalidProperty - 2.11.2007, 09:38 -------------------- dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null echo $0 >> $0 |
|||
|
||||
| InvalidProperty |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 356 Регистрация: 31.10.2007 Где: Россия, Казань Репутация: нет Всего: 9 |
всем спасибо за внимание
исчо рас продублирую, ибо я потерял достаточно времени, чтобы локализовать проблему, будем надеяться, что после меня народ будет находить ответ на этот вопрос быстрее:
ЗЫ Кстати, вопрос по поводу резервирования/очистки памяти javascript браузерами остается открытым. В манах говорится, что если объявлять переменную явным образом: var a; то в этом случае ее удаление не требуется, в отличие от неявного объявления: a = 5; В случае неявного объявления можно удалить переменную или объект или его свойство при помощи оператора delete, тогда не совсем понятно что будет, если не удалять... т.е. будет ли браузер по завершению обработки скрипта освобождать память? И как происходить освобождение памяти в случае с явным объявлением? Это сообщение отредактировал(а) InvalidProperty - 5.11.2007, 02:42 -------------------- dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null echo $0 >> $0 |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |