Архив за Август, 2011



Очистка обработчиков в jQuery


Делал нагруженную ajax и jquery страницу и столкнулся с интересной проблемой. А обнаружилось случайно – просто заметил, что некоторые ajax-запросы посылаются несколько раз.

Немного понаблюдал за ситуацией и заметил что в таких случаях:

  • Некая часть страницы генерируется по ajax.
  • В этой странице тоже есть элементы, поведение которых программируется в jquery и может быть даже ajax.
  • Понятно, что скрипты этого поведения вставляются вместе с этой частью страницы
  • Всё в целом работает.

Но если потыкать мышками и повторить цикл вставки этой части страницы несколько раз то

  • Скрипт “накапливает” все методы обработки. По крайней мере каждый следующий раз каждый клик срабатывает два-три-итд раз
  • При этом сам HTML нормально вставлен один раз.

Куда копать? Какие слова гуглить? Как оказалось, нужно просто почитать матчасть!

Читать далее »


Категории jQuery |
автор: altesack / Среда, Август 24, 2011 / Comments Off

Проблема с шириной блока в jCarousel Lite

Именно так выглядит у меня эта проблемаТут я писал про классную карусель jCarousel Lite. Классная-то классная, но иногда она неправильно определяет ширину блока. Точнее совсем не определяет, а ширину элемента списка (тег <li>) устанавливает в ноль.

Глюк настолько коварный, что во время разработки его обнаружить тяжело. Он сказывается когда изображения по какой-то причине загружаются долго. Для целенаправленной поимки такого глюка нужно регулярно очищать кеш браузера.

Единственный способ бороться с этой проблемой, который я нашёл, это явное указание у элементов списка, а именно у тега <li> каких-нибудь размеров. Фиксация размеров элемента может не так хороша, но всё же лучше чем иногда появляющийся ноль.

Примерно так:

1
<li style="width:67px; height:50px"><img src="...

Категории Не по теме |
автор: altesack / Среда, Август 17, 2011 / Comments Off

Kohana и “No input file specified”

Работая с Kohana 3.0 без фронт-контроллера index.php внезапно столкнулся с ошибкой No input file specified.

Причём главная страница работала нормально, а чуть в глубь – не находит. Причём на локалке работало нормально, а на хостинге у клиента – не хочет!

Поскольку природу явления я не понял – юзал гугл. А гугл довольно быстро выдал мне, что у меня какие-то не такие настройки сервера на хостинге и в таком случае нужно колдовать с .htaccess

Первое рабочее решение предлагало заменить

1
RewriteRule .* index.php/$0 [PT]

на

1
RewriteRule ^(.*)$ index.php?$0 [L]

Действительно всё работало нормально. С той разницей, что теперь всё URI стало попадать в index.php в качестве параметра GET. Это однозначно поломало всю пагинацию, ибо она отродясь юзала GET.

Единственно рабочим решением которое позволило мне полностью забыть проблему – оказалось заменой той строки на

1
RewriteRule .* index.php [L]

Вот так вот. Просто и сердито. И работает.
Почему работает – меня не спрашивайте, для меня это магия.
Может кто-нибудь знающий даст комментарий?


Категории Не по теме |
автор: altesack / Суббота, Август 06, 2011 / 5 комментов »