Ввод и задачи в WML. Таймер и переменные
Задачи WML
Задача определяет действие, которое выполняется при наступлении события - например, входа на карту или нажатия ссылки.
Задача Go
Данная задача предписывает переход к новой карте.
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card> <p> <anchor> Вперед <go href="next.wml"/> </anchor> </p> </card> </wml>
Задача Prev
Данная задача предписывает возврат к предыдущей карте.
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card> <p> <anchor> Назад <prev/> </anchor> </p> </card> </wml>
Задача Refresh
Данная задача обновляет некоторые определенные переменные карты. При этом, если какая-либо из переменных выводится на экране, то экран будет обновлен. Следующий пример использует тег <anchor> для создания на карте ссылки "Обновить страницу". Когда пользователь нажмет эту ссылку, страница будет перерисована и для переменной a будет задано значение 15:
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card> <p> <anchor> Обновить <go href="first.wml"/> <refresh> <setvar name="a" value="15"/> </refresh> </anchor> </p> </card> </wml>
В приведенном примере используется тег <anchor> для создания на карте ссылки "Обновить". Когда пользователь нажмет эту ссылку, страница будет перерисована и для переменной a будет задано значение 15.
Задача Noop
Noop является сокращением "no operation" - "нет операции". Таким образом, данная задача указывает, что делать ничего не надо, и используется, например, для переопределения элементов навигации между картами колоды.
Когда пользователь нажимает на экране слово/фразу, задача активизируется - для этого применяется тег <do>:
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card> <p> <do name="back" type="prev" label="Возврат"> <noop/> </do> </p> <p> Возврата нет </p> </card> </wml>
В данном примере используется тег <do>, чтобы создать на карте ссылку "Возврат". Когда пользователь нажимает ссылку "Возврат", на экране должна была бы появиться предыдущая страница, но тег <noop> отменяет эту операцию. Таким образом, когда пользователь нажмет ссылку "Возврат", ничего не произойдет.
Элементы задач:
Начальный тег | Назначение | WML |
---|---|---|
<go> | Переход к новой карте | 1.1 |
<noop> | Говорит, что ничего не надо делать. Используется для переопределения элементов уровня формы | 1.1 |
<prev> | Переход к предыдущей карте | 1.1 |
<refresh> | Обновляет некоторые определенные переменные карты | 1.1 |
Таймер
На карте WML можно использовать функцию таймера WML. Единица измерения времени в таймере равна 1/10 секунды.
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card ontimer="next.wml"> <timer value="100"/> <p>Заголовок</p> </card> </wml>
Данный пример выводит заголовок в течение 10 секунд, а затем происходит переход к файлу "next.wml".