Содержание
- 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)





Профессия – «Спасатель»
Игровой комплекс "Джунгли" Новинка для детей и подростков! Масштабный игровой центр общей площадью 84 квадратных метра состоит из т
Презентация на тему Республика Ирландия
Презентация на тему Работа над речевой формой выступления
ГОУ ДПО НИРООрганизационное и технологическое сопровождение Единого Государственного Экзамена в Нижегородской области2011 го
Презентация на тему Лексические нормы
Альбрехт Дюрер
Предложения Microsoft для образования
Центр дистанционных автоматизированных учебных лабораторий
Презентация на тему Решение задач на пропорциональное деление
Вышивка лентами
Приклад заповнення ПКО
Стоп. Конфликт. Конфликт в лагере. Пути выхода из конфликтных ситуаций
Кто ты, ЧЕЛОВЕК?Что такое СЧАСТЬЕ?
Конференция по химии и коммерциализации
МАРКИН СТАНИСЛАВ СЕРГЕЕВИЧ
Презентацияна тему:«Хронический гепатит»Специльность 060101 «Лечебное дело»Дисциплина «Терапия» 4 курс 7 семестр
Путешествие в Страну Здоровья
Апрелевский завод теплоизделий
Пришла зима
Презентация на тему Сумма углов треугольника
Социальная защита малоимущих семей
1 июня - День защиты детей
Новые виды
Проектирование ультразвукового сонара для слепых людей
Лаки. Роспись по металлу и папье-маше
Japanese education
Делимость чисел 8 класс