Показать сообщение отдельно
  #1 (permalink)  
Старый 28.03.2011, 08:58
Профессор
Отправить личное сообщение для popov654 Посмотреть профиль Найти все сообщения от popov654
 
Регистрация: 22.09.2010
Сообщений: 217

Странное поведение...
Здравствуйте, друзья)
Я на днях написал небольшой парсер статистики для Shoutcast. Парсер написан на PHP, но также активно используется JavaScript. И хотя нерабочий код на JavaScript я бы мог реализовать на PHP, мне всё же хочется "добить" эту проблему из принципа, чтобы у меня не осталось вопросов, которые я так и не понял.

Код на PHP огромен, да и в данном случае не очень нужен (если потребуется, я могу выложить некоторые части, которые касаются проблемы), код на JavaScript чуть меньше, но тоже не слабый, поэтому я не буду тут всё это постить, а просто выложу ссылку. Кому интересно и у кого есть время - откликнитесь, пожалуйста :-)

Ссылка вот: http://popov654.pp.ru/parser
Для тестирования понадобится лог-файл, я его прикрепляю сюда. К сожалению, загрузка файла с первого раза может не получиться, если браузер "зависнет" в ожидании ответа - повторите 1-2 раза, на третий точно должно сработать.

JavaScript код всех трёх фреймов просмотреть можно любым браузером, это совершенно стандартная процедура)

Теперь в чём собственно проблема. Во-первых, никак не удалось путём довольно хитрых манипуляций заставить его "не сбрасывать" поле с именем файла после первой загрузки файла через форму. При этом при последующих переходах значение поля уже сохраняется, но при самом первом - нет. Хотя отладочные алерты свидетельствуют о том, что мои методы сохранения и восстановления работают. Этот момент может быть неприятен для пользователя скрипта, в частности, для меня. Ведь по сути выбирать файл в диалоге приходится дважды!

Насчёт скорости - я возможно сделаю так, чтобы 5-мегабайтный файл не заливался на сервер при каждой смее страницы в трекере, а работа происходила с уже загруженным файлом, а стирался чтобы он с сервера при выгрузке веб-страницы/закрытии браузера с помощью вызова другого php-сценария через JavaScript. Тогда и необходимость "помнить" это поле пропаёт :-)

А второй момент ещё того хуже: глючит трекер. А именно, смена групп по 10. При такой смене происходит перезагрузка данных наверху, но сам трекер в нижнем фрейме почему-то остаётся прежним. А при попытке обновить его содержимое средствами браузера вообще происходит совершенно невероятное. Попробуйте) И как это?!.. Там ведь стоит цикл на 10 итераций со счётчиком!

Вот... Собственно в этом и мой вопрос)
Вложения:
Тип файла: zip sc_serv.zip (624.7 Кб, 3 просмотров)
Ответить с цитированием