Содержание
- 2. Почему чат на AJAX’е? Передача малого количества данных Быстрое обновление данных Нет необходимости в наличии Java-машины
- 3. Почему prototype.js? Удобная и кроссбраузерная работа с AJAX’ом, DOM’ом Готовые расширения JavaScript-объектов ООП подход Самый популярный
- 4. Базовый интерфейс чата Список сообщений Список пользователей Поле для сообщения Кнопка отправки сообщения
- 5. Передача данных в AJAX-чате Что такое JSON и чем он хорош? Передача сериализованных объектов и массивов
- 6. AJAX-запросы к серверу Список новых сообщений Список всех пользователей Отправка сообщения
- 7. AJAX-запросы к серверу Список новых сообщений
- 8. AJAX-запросы к серверу Список всех пользователей Получение дополнительных пользователей, нужных для отрисовки списка сообщений
- 9. AJAX-запросы к серверу Отправка сообщения Объединение отправки и показа новых сообщений Буферизация сообщений
- 10. Структура JavaScript-модулей /js/ /ajax/ chat.js (класс Chat + вспомогательные объекты) init.js («константы» + Ajax.Responders) /lib/ prototype.js
- 11. JS-классы и объекты чата Ключевые используемые prototype.js-классы PeriodicalExecuter Ajax.Request Template Класс Chat Вспомогательные объекты ChatHelpers ChatAjaxHelpers
- 12. JS-классы и объекты чата PeriodicalExecuter startListTimer: function(type){ if (typeof this[type + '_list_timer'] == 'undefined') this[type +
- 13. JS-классы и объекты чата Ajax.Request getMsgsList: function(){ this.stopListTimer('msgs'); new Ajax.Request( this.options.msgs_url, { method: 'get', parameters: 'room_id='
- 14. JS-классы и объекты чата Template msg_default_tpl: new Template(' #{time} #{user_ico} #{username}: #{text} '), msg_system_tpl: new Template('
- 15. JS-классы и объекты чата Класс Chat var Chat = new Class.create(); Chat.prototype = { initialize: function(room_id,
- 16. JS-классы и объекты чата Вспомогательные объекты ChatHelpers ChatAjaxHelpers ChatStrings var ChatStrings = { NA: 'N/A', TO:
- 17. Практические приемы Инициализация настроек класса (options) Приватные данные в классе Борьба с кэшированием AJAX-запросов windows-1251 вместо
- 18. Tip: инициализация настроек this.options = { msgs_url: '/ajax/chat/data.html', msg_url: '/ajax/chat/msg.html', users_url: '/ajax/chat/users.html', frontend_base_url: '/chat/?room_id=0', msgs_updater_frequency: 5,
- 19. Tip: приватные данные var _users_open_cache = []; this.isInUsersOpenCache = function(user_id){ return (_users_open_cache.indexOf(user_id) >= 0); } this.usersOpenCacheAdd
- 20. Tip: борьба с кэшированием var ChatAjaxHelpers = { /* ... */ addExtraAjaxParams: function(){ return '&rand=' +
- 21. Tip: windows-1251 вместо UTF window.encodeURIComponent = function(str){ var trans = []; for (var i = 0x410;
- 22. Отладка чата Обработка исключений и AJAX-ошибок Объект Ajax.Responders Методы ChatAjaxHelpers.handleAjaxFailure и ChatAjaxHelpers.evalJsonResponse Firebug! Firebug! Firebug!
- 23. Ajax.Responders var ajaxGlobalHandlers = { onException: function(t, e){ if (typeof DEBUG != 'undefined' && DEBUG){ var
- 24. ChatAjaxHelpers.handleAjaxFailure var ChatAjaxHelpers = { /* ... */ handleAjaxFailure: function(frontend_base_url, request){ if (typeof DEBUG != 'undefined'
- 25. ChatAjaxHelpers.evalJsonResponse var ChatAjaxHelpers = { /* ... */ evalJsonResponse: function(json_str){ var data = null; try{ data
- 26. Вопросы ?
- 28. Скачать презентацию










![JS-классы и объекты чата PeriodicalExecuter startListTimer: function(type){ if (typeof this[type + '_list_timer']](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/420309/slide-11.jpg)





![Tip: приватные данные var _users_open_cache = []; this.isInUsersOpenCache = function(user_id){ return (_users_open_cache.indexOf(user_id)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/420309/slide-18.jpg)

![Tip: windows-1251 вместо UTF window.encodeURIComponent = function(str){ var trans = []; for](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/420309/slide-20.jpg)





Social Ecology Sustainable Development
Кислоты, основания, соли в свете ТЭД
Презентация на тему Гигиена органов пищеварения. Желудочно-кишечные инфекции
Презентация на тему Социально педагогическая деятельность в подростковом клубе "Шанс"
Корабль под названием семья
Формирование международной проектной команды для выполнения многоцелевого проекта в области ИТ. Игорь Ковалев Директор по ИТ про
Магнитное поле катушки с током. Электромагниты
Презентация на тему: Памятные места Костомукши
Семейные правоотношения
Модуль АИС «РЕГОСС::Запросы» Три шага создания запроса
Краснодар «Маленький Париж»
День Св. Валентина – праздник всех любящих сердец
Международные перевозки автомобильным транспортом
Родные проселки
Предмет, метод и принципы информационного права
Преодоление трудностей и стрессопрофилактика
Изображение характера животных на рисунке
Молодежная организация Сталкер
Обобщение опыта проведения конкурса в 2010 году: основные проблемы, их анализ и выводы
Образование в Японии
Нити судьбы – полотно жизни (Улон нюжаос)
День Зелёного огонька
Теоретические основы формирования деятельности пенсионного фонда Российской Федерации
В начале кризиса ожидалось, что он повлияет только на размер кошелька покупателя, а бизнес ждет временное, на время кризиса, снижен
Презентация на тему Какие разные – братья наши меньшие 6 класс
Презентация на тему Дискриминация на рынке труда. Человеческий капитал. Инвестиции в человеческий капитал
Презентация на тему Путешествие по страницам Красной книги
Трансформатор