а если можно оффтопный вопрос по функционалу сайта, если Вы я причастны к его разработке.
как сделано комментрирование тут? я вижу, что пропотипом передаются данные, но вот меня интересует вопрос: каким образом идет обновление комментов без перезагрузки? По документации к prototype параметром для обновления является область, в которую пишется результат серверной части. тут же идет просто добавление нового комментария без перерисовки всех комментариев. как такого добились?
если сумбурно описал - прошу извинить.
как работает prototype я знаю. просто интересно, неужели из серверной части вызывается javascript? потому что по документации, функция по добавлению комментария должна лишь обновить весь див с комментариями, а она просто добавляет туда строку.
Я просто пытаюсь такое же реализовать. клиентская аналогичная, а вот серверная - не пойму как сделать, чтобы было так изящно.
Правильно: Не использовать автообновление, а использовать коллбэк функцию. На знание прототайп не претендую (я разработчик mootools), но это что-то вроде такого:
new Ajax('script.php', {
onComplete: function(response){};
alert(respose);
})
Идеально: передавать только данные, а HTML генерится на клиенте.
это я понимаю, но дело в том, что в функции отсылки комментария указан линк на серверную часть и див, в котором должны быть изменения. так вот в этом диве уже находятся все комментарии и в колбек-функции ничего не указано как и где отрисовывать, по сему, у меня возникает подозрение, что отрисовка идет на сервере и каким-то хитрым образом передается на клиент (хитрым, потому что я пробовал вставить javascript в ответ сервера - он не работал, значит как-то по-другому).
1) когда кажется крестятся запускают firebug и смотрят ответы сервера.
2) яваскрипт в ответ сервера эвалится флагом evalScripts или что-то в этом роде.
3) то как сделано это здесь не суть важно. Важно, что хороший вариант единственный, который я упомянул выше. Ну это, конечно, с одной стороны. С другой, имя шаблон на сервере легче отредактировать его. Но это выплескивается в большие трудозатраты для сервера + больше трафика для клиента.
ответ сервера я смотрел. после отсылки запроса через ajax от сервера идет единственный ответ в виде 2-х загруженных картинок (неактивные хороший комментарий и плохой).
Ну вот же. ПРисылается полностью отрендеренная чатсь страницы с комментарием. То есть не один комментарий, а все. Это, как я понимаю, сделано для того, чтобы обновить комментарии во всех ветках. Но это путь наименьшего сопротивления. Т.е: как бы полегче. Но опять же: Серверу приходится обрабатывать и рисовать всё это, как будто это целая страница. И куча табличного мусора в виде ХТМЛ высылается клиенту.
Трафику много это не выигрывает, серверного времени тоже. Зато аякс :)
Greasemonkey: облако популярных Хабратегов при добавлении хабратопика