IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  Технология Java | Open source | XML  >

Пользовательские комментарии в Ajax

Позвольте пользователям размещать наклейки для заметок на вашем Web-сайте

developerWorks
На предыдущую страницуСтраница 5 из 16 На предыдущую страницу

Опции документа

Обсудить

Исходные тексты примера


Выскажите мнение об этом учебном пособии

Помогите нам улучшить содержание


Описание системы Stickies

В предыдущих разделах было показано, как загрузить JavaScript-код. Вы эффективно отделили JavaScript-код от страницы, на которой он выполняется, обеспечив раздельное функционирование. Но это только основа, на которой вам предстоит создать более сложное приложение - систему Stickies.

Что такое наклейка

Наклейка - это маленькая заметка, прикрепляемая поверх Web-страницы, как показано на рисунке 4.


Рисунок 4. Наклейка, размещенная в верхней части Web-страницы
Рисунок 4. Наклейка, размещенная в верхней части Web-страницы

Наклейка не является частью страницы; она постоянно находится на одном и том же уровне. В верхней части наклеек имеются четыре кнопки. Они позволяют пользователям управлять функциональностью наклейки:

  • Close: Не показывать данную наклейку, но и не удалять ее.
  • Edit: Редактировать текст наклейки.
  • New: Создать новую чистую наклейку.
  • Delete: Закрыть наклейку и удалить ее из базы данных.

Все наклейки имеют некоторые общие свойства: они являются персистентными, связанными с URL, прозрачно персистентными, независимыми от базовой Web-страницы и неинвазивными. Рассмотрим каждое из этих свойств детально:

Персистентность

При создании наклейки ее расположение и содержимое сохраняются на диске Web-сервера средствами серверного CGI-сценария под названием persistence.cgi. Клиентский JavaScript-код взаимодействует с сервером через скрытый фрейм, или iframe. iframe аналогичен обычному фрейму, который содержит свой собственный документ, однако, в отличие от него, iframe постоянно находится посреди страницы, а не во фреймсете. Поэтому iframe не обязан иметь видимые границы и может быть полностью невидимым.

Клиентский код создает в iframe форму. Поле action формы указывает на persistence.cgi. Данные формы передаются в persistence.cgi, а выходные данные от persistence.cgi передаются в iframe. Затем клиентский код извлекает необходимую информацию из iframe.

Связь с URL

При сохранении каждой наклейки в базу записываются два значения: URL страницы и уникальный числовой идентификатор (ID). URL связывает наклейку с текущей страницей, а идентификатор предназначен для того, чтобы отличать друг от друга множество наклеек страницы. Эта комбинация URL и идентификатора является уникальной для каждой наклейки.

Пользователь может создать наклейки на странице, покинуть страницу и закрыть браузер, но когда он вернется на эту страницу и нажмет на букмарклет Stickies, наклейки появятся снова.

Прозрачная персистентность

Каждый раз, когда пользователь каким-либо образом изменяет наклейку, изменения автоматически сохраняются на сервере. Каждый раз, когда пользователь перемещает наклейку, данные о ее новом местоположении также сохраняются на сервере. Похоже на стрельбу из пушки по воробьям, но это намного проще, чем сохранять данные при закрытии страницы пользователем.

Независимость от базовой Web-страницы

Хотя наклейки связаны с Web-страницей, они не являются ее частью. Правда, при загрузке наклейки помещаются в DOM-дерево Web-страницы, но это сделано для того, чтобы минимизировать влияние на страницу. Наклейка не должна никаким образом изменять вид или действия страницы. Конечно, наклейка закрывает часть страницы, но ее всегда можно переместить в другое место.

Неинвазивность

Сочетание предыдущих свойств означает, что наклейки являются неинвазивными, т.е. хорошо сосуществуют с другими Web-элементами. Вот почему, изучая систему Stickies, включающую в себя множество различных аспектов Ajax-программирования, можно больше узнать об Ajax.

Теперь я могу детально рассмотреть систему Stickies, начиная с первого нажатия на букмарклет.



В начало



На предыдущую страницуСтраница 5 из 16 На предыдущую страницу

    IBM в России Конфиденциальность Контакты