Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jquery, не всегда срабатывают скрипты 
V
    Опции темы
m_maxser
Дата 9.10.2012, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 5.2.2008

Репутация: нет
Всего: нет



Здравствуйте.
Есть проект на Kohana 3. Проект достаточно крупный, много jquery скриптов. Проблема в том, что они не всегда отрабаывают. Это происходит не часто (примерно каждый двадцатый раз), но пользователи замечают. 

Используются:
1 jquery 1.8.1,
2 UI 1.8.24
  2.1 dialog
  2.2 tabs
  2.3 datepicker
  2.4 timepicker
3 elastic
4 ajaxForm
5 и др.

Сейчас это работает так: Пользователь видит страницу, на ней несколько табов. Переходит на какой-нибудь из них. Видит таблицу с записями. В таблице три вида кнопок ("добавить запись", "редактировать" и "удалить") вызывающих ajax-функцию. Кнопки "добавить" и "редактировать", открывают модальное-окно (ui.dialog). В этом окне куча полей, среди них 4 поля выбора даты (ui.datepicker). Пользователь заполняет поля, нажимает сохранить. Форма отправляется с помощью ajaxForm, таблица обновляется. Все отлично работает.

Но иногда... smile

Пока заметил, что не отрабатывают штуки связанные с UI. Например datepicker. Я кликаю по полю, появляется красивый ui-календарь. Я выбираю дату, но дата не попадает в input и страницу "подбрасывет", как-будто я перешел по ссылке-якорю. 
Второй вариант это ui.dialog. Я нажимаю сохранить, форма отправляет ajax-запрос, но само окно остается, хотя должно произойти .dialog("close").

У нормальных людей проблем не возникает. Они просто перезагружают страницу и все. Но со стороны заказчика есть всякие ... Они ставят своей целью меня замучить. Это даже смешно  smile . Звонят, говорят, что не работает. Проверяю, все нормально. Спрашиваю какой у нее браузер. Захожу под этим браузером, тоже все ОК. Приходится ехать к ним через весь город, чтобы посмотреть. А там сайт "на паузе". Я перезагружаю страницу, все работает. Но она неугомонилась, при мне стала перезагружать страницу до тех пор (раз 15-20), пока не возобновила проблему :(

Согласен, ситуация неприятная. Все должно работать нормально. FireBug не выдает никаких ошибок. НИГДЕ! Просто некоторые вещи не отрабатывают.

P.S.: Проект изначально делала другая компания, потом у них кончился договор на поддержку и они отказали его продлевать (теперь догадываюсь почему). Код очень чистый, красивый. Мы делали глубокое изменение некоторых модулей, и добавили два своих. 

P.P.S: Проблема с datepicker'ом была до наших изменений, только ее никто е замечал.
PM MAIL   Вверх
ksnk
Дата 9.10.2012, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Может память течет? Для Javascript - явление, можно сказать,типичное. Проверить несложно - просто посмотреть на используемую броузером память в динамике. Если глюки имеются и в Chrome - смотреть родным хромовским инструментом.

Статеек много, вот, например - одна из первых в выдаче гугла `как проверить утечки памяти javascript`.
Оттуда - совет про jQuery...
Цитата

...
К счастью обнаружить такие утечки легко. Проверьте размер $.cache. Если он большой и растет, то изучите кэш, посмотрите, какие записи остаются и почему.



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
m_maxser
Дата 9.10.2012, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 5.2.2008

Репутация: нет
Всего: нет



ksnk
Спасибо, причина действительно была в утечке памяти. Добавил кое-куда .remove() и все smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0453 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.