ИНФОРМАЦИЯ,    ДИЗАЙН,    ПЕРЕВОДЫ,    РЕКЛАМА   .   .   .
w a p - с а й т
Информационный портал
Сегодня:  
admin@aranea.ru
+79068922256

  aranea.ru || WML - Введение | 9. События и навигация

9. События и навигация

9.1 Обработка навигации и событий

WML имеет модели для обработки навигации и событий. Ассоциированные элементы позволяют автору определить обработку событий устройства вывода. События могут привязываться к задачам автора; когда происходит событие, выполняется связанная с ним задача. Разнообразие задач может определяться через навигацию на адрес URL, определенный автором. Связи событий декларируются несколькими элементами, включая do и onevent.

9.2 История

Язык WML имеет простую модель навигационной истории, которая позволяет автору управлять обратной навигацией удобным и эффективным способом. История устройства вывода смоделирована как стек адресов URL, который представляет навигационный путь, которым пользователь пришел к текущей карте. В стеке истории можно выполнять три операции:

  • Установка в нулевое состояние (Reset) – стек истории может переустанавливаться в состояние, где он содержит только текущую карту. Смотрите атрибут newcontext (раздел 10.2) для получения подробной информации.
  • Запись в стек (Push) – новый адрес URL записывается в стек истории, как действие навигации на новую карту.
  • Удаление из стека (Pop) – текущий адрес URL карты (верх стека) записывается как результат обратной навигации.

Устройство вывода должно выполнять историю навигации. Так как каждая карта доступна через определенный явно адрес URL, (например, через атрибут href элемента go), то вход на карту добавляется в стек истории, даже если он идентичен самому последнему входу. Как минимум, каждый вход должен записывать абсолютный адрес URL карты, метод (get или post), используемый для доступа к карте, значение любого поля postfields и любой заголовок запроса. Содержание карты не записывается в историю. Ссылки на переменные никогда не сохраняются в истории. Любые ссылки на переменные в данных истории должны помещаться с текущим значением переменных перед тем, как вход добавляется к стеку.

Устройство вывода должно возвращать пользователю предыдущую карту в истории, если выполняется задача prev (смотрите раздел 9.5.2). Выполнение prev выталкивает адрес URL текущей карты из стека истории.

Если карта является частью деки, которая была первоначально выбрана с использованием метода HTTP, и устройство вывода должно повторно выбрать деку для вывода карты, то устройство вывода должно повторно записать данные post, связанные с выбором оригинальной деки. Значение данных post должны быть такими же значениями, как используемые при выборе оригинальной деки. Обратитесь к разделу 12.5.2 для получения подробной информации по семантике prev. Смотрите [CACHE] для получения подробной информации по семантике кэширования.

9.3 Элемент Postfield

<!ELEMENT postfield EMPTY>
<!ATTLIST postfield
name %vdata; #REQUIRED
value %vdata; #REQUIRED
%coreattrs;
>

Элемент postfield определяет имя и значение поля для передачи на оригинальный сервер во время запроса URL. Фактическая кодировка имени и значения будет зависеть от метода, используемого для коммуникации с оригинальным сервером.

Обратитесь к разделу 9.5.1 для получения подробной информации по использованию postfield в элементе go.

Атрибуты
name=vdata

Атрибут name определяет имя поля.

value=vdata

Атрибут value определяет значение поля.

Атрибуты, определенные в другом месте

  • id (смотрите раздел 8.9)
  • class (смотрите раздел 8.9)

9.4 Элемент Setvar

<!ELEMENT setvar EMPTY>
<!ATTLIST setvar
name %vdata; #REQUIRED
value %vdata; #REQUIRED
%coreattrs;
>

Элемент setvar определяет переменную для установки в текущем контексте обозревателя, как побочный эффект выполнения задачи. Элемент должен игнорироваться, если атрибут name оценивает имя переменной во время исполнения как некорректную (смотрите раздел 7.5). Смотрите раздел 10.3.4 для получения подробной информации по установке переменных.

Атрибуты
name=vdata

Атрибут name определяет имя переменной.

value=vdata

Атрибут value определяет значение, которое присваивается переменной.

Атрибуты, определенные в другом месте
  • id (смотрите раздел 8.9)
  • class (смотрите раздел 8.9)
← Назад | Вперед →
Copyright © 2006 -  aranea.ru