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





Культура Западной Европы 17-18 веков
Что едят русские по мнению иностранцев
Памятники русской архитектуры XVII
“Исследование космических лучей на аэростатных высотах (эксперимент “СФЕРА”)” за 2005 г.
Ораторское мастерство
План розвитку Великобудищанської спеціалізованої школи І-ІІІ ступенів
Banket-chay_20
Коммуникационные технологии во внешнеэкономической деятельности предприятия
Новая линейка комбо устройств MiVue iсерии
Конфликты в школе. Профилактика конфликтов в школьной среде, поиск путей предотвращения и преодоления конфликтных ситуаций
Что такое светская этика (4 класс)
Варвари біля воріт Принципи корпоративного управління
Как получается мёд
Физиология мотивации
Лидер детского молодежного объединения
Личная гигиена спортсмена
Коммерческое предложение по установке КМС-400/1
Ференц Лист
Предприятие-субъект предпринимательской деятельности
ОРГАНИЗАЦИЯ ТЕКУЩЕГО КОНТРОЛЯ И ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ СТУДЕНТОВС ИСПОЛЬЗОВАНИЕМ БАЛЛЬНО-РЕЙТИНГОВОЙ СИСТЕМЫ ОЦЕНКИ УСПЕВАЕ
Организация здоровьесберегающей среды в школе
Презентация на тему КРАСНОДАР
жылу баланс (1)
Праздник весны и труда. 1 Мая
Учитель основ безопасности жизнедеятельности школы №84 Горлов Сергей Сергеевич
Землетрясения Подготовила презентацию студентка 1ого курса ЭФ Группы Э112Б Олефир Карина
Modern China
Правовое положение личности