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





Технологии идентификации
Проект: Дружба
«Достижение планируемых образовательных результатов через обучение младших школьников взаимодействию и сотрудничеству»
Классный час в 11 классе
ЧЕРЛИН® ПРОИЗВОДСТВЕННАЯ КОСМЕТИЧЕСКАЯ КОМПАНИЯ
THE SIMPLE TENSES
Baltic transline
Фотоальбом
История развития прыжков на батуте в Воронежской области
Студенческий Научный Кружок кафедры микробиологии и вирусологии
Лабиринт выбора профессии
Строительное материаловедение и контроль качества
Проект «Междуречье»
Презентация2
State of play
Алматы 2010
Экономические взгляды представителей новейшей исторической школы начала ХХ века
Поговорим об этикете
Составление процессуальных документов
Угол между двумя прямыми
Религиозные объекты Нижегородской области
Политическая культура
Культурология1
Ведомственная охрана Министерства Связи и Массовых коммуникаций РФ. Структура фактической выручки по видам услуг
Анализ и пути совершенствования защиты информации в управлении организацией
Правительство Москвы
Элементы литературоведческого анализа стихотворения А.С. Пушкина «И.И. Пущину»
Инфраструктура обеспечения бизнеса Выполнили: Хропина Ольга и Фунтикова Виктория