Основы WAP

         

Библиотека WMLScript Dialogs


Эта библиотека содержит функции, которые выводят предупреждающие сообщения.



Библиотека WMLScript Float


Эта библиотека содержит набор математических функций.



Что такое WML?


WML - аббревиатура от Wireless Markup Language (язык разметки для беспроводной связи). Это язык разметки, родственный HTML, но основывающийся на XML, и поэтому его синтаксис значительно строже, чем в HTML.

Язык WML применяется для создания страниц, которые выводятся в браузере WAP.

Страницы в WML называются колодами (DECKS), которые создаются как наборы карт (CARDS).



Что такое WMLScript?


WMLScript - это язык сценариев, которые используются на страницах WML. Он является облегченной версией языка JavaScript.

Сценарии на этом языке не встраиваются в страницу WML - она содержит только ссылки на адреса URL-сценариев.

Сценарий WMLScript перед отправкой браузеру WAP компилируется на сервере в байт-код.

Язык WMLScript является частью спецификации WAP.



Для чего используют сценарии WMLScript?


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



Функции библиотеки Dialogs




ФункцияОписание
alert()Выводит сообщение и ожидает подтверждение
confirm()Выводит сообщение и ожидает ответ
prompt()Выводит сообщение и ожидает ввод



Функции библиотеки Float


Библиотека работает только в том случае, когда клиент поддерживает числа с плавающей точкой. Если числа с плавающей точкой не поддерживаются, все функции будут возвращать invalid ("недопустимо").

ФункцияОписание
ceil(x)Возвращает ближайшее целое, которое не меньше указанного числа
floor(x)Возвращает ближайшее целое, которое не больше указанного числа
int(x)Возвращает целую часть указанного числа
maxFloat()Возвращает максимально возможное число с плавающей точкой
minFloat()Возвращает наименьшее возможное число с плавающей точкой
pow(x,y)Возвращает результат возведения значения x в степень y
round(x)Округляет число до ближайшего целого
sqrt(x)Возвращает квадратный корень из числа



Функция alert()


Данная функция выводит сообщение, ожидает подтверждение и возвращает пустую строку.

Синтаксис:

n = Dialogs.alert(message)

Параметр Описание
N Пустая строка, возвращаемая функцией
MessageСтрока, содержащая сообщение

Пример:

var x = Dialogs.alert("Ошибка!");

Результат

x = ""



Функция ceil()


Данная функция возвращает ближайшее целое, которое не меньше, чем значение параметра x.

Синтаксис:

n = Float.ceil(x)

Параметр Описание
N Целое число, возвращаемое функцией
X Число

Пример:

var x = Float.ceil(2.28); var y = Float.ceil(-1.67); var z = Float.ceil(7.08);

Результат:

a = 3 b = -1 c = 7



Функция confirm()


Данная функция выводит сообщение, ожидает ответ и возвращает булево значение в зависимости от выбранного пользователем ответа. Если пользователь выбрал значение ok, то возвращаемое значение будет true, а если выбрано cancel, то возвращаемое значение - false.

Синтаксис:

n = Dialogs.confirm(message, ok, cancel)

Параметр Описание
N булево значение, возвращаемое функцией
Messageстрока, содержащая сообщение
Okстрока, содержащая текст
cancelстрока, содержащая текст

Пример:

var x = Dialogs.confirm("Continue?","Yes","No");

Результат

x = true (если выбрано "Yes") x = false (если выбрано "No")



Функция floor()


Данная функция возвращает ближайшее целое число, которое не больше параметра x.

Синтаксис:

n = Float.floor(x)

Параметр Описание
N Целое число, возвращаемое функцией
X Число

Пример:

var x = Float.floor(1.95); var y = Float.floor(-3.26); var z = Float.floor(2.08);

Результат:

x = 1 y = -4 z = 2



Функция int()


Данная функция возвращает целую часть параметра x.

Синтаксис:

n = Float.int(x)

Параметр Описание
n Целое число, возвращаемое функцией
x Число

Пример:

var x = Float.int(2.15);

Результат:

x = 2



Функция maxFloat()


Данная функция возвращает максимально возможное число с плавающей точкой.

Синтаксис:

n = Float.maxFloat()

Параметр Описание
n Максимально возможное число с плавающей точкой (3.40282347E+38), возвращаемое функцией

Пример:

var x = Float.maxFloat(); var y = Float.maxFloat();

Результат:

x = 3.40282347E+38 y = 3.40282347E+38



Функция minFloat()


Данная функция возвращает наименьшее возможное число с плавающей точкой.

Синтаксис:

n = Float.minFloat()

Параметр Описание
n Наименьшее возможное число с плавающей точкой (1.17549435-38), возвращаемое функцией

Пример:

var x = Float.minFloat(); var y = Float.minFloat();

Результат:

x = 1.17549435-38 y = 1.17549435-38



Функция pow()


Данная функция возвращает результат возведения значения х в степень y (x^y).

Синтаксис:

n = Float.pow(x,y)

Параметр Описание
N число с плавающей точкой, возвращаемое функцией
X число
Y число

Пример:

var x = Float.pow(3,1); var y = Float.pow(-3,2);

Результат:

a = 3 b = 9



Функция prompt()


Данная функция выводит сообщение и ожидает ввод. Второй параметр является вводом по умолчанию, который возвращается, если пользователь не ввел никакого значения. Функция возвращает строку, введенную пользователем, или значение по умолчанию.

Синтаксис:

n = Dialogs.prompt(message, defaultinput)

Параметр Описание
N возвращаемая функцией строка
messageстрока, содержащая сообщение (вопрос)
defaultinputстрока, содержащая значение по умолчанию (ответ)

Пример:

var x = Dialogs.prompt("Ваше число:","7");

Результат:

x = "3" (если введено 3) x = "7" (если не введено значение)



Функция round()


Данная функция округляет параметр x до ближайшего целого числа.

Синтаксис:

n = Float.round(x)

Параметр Описание
N Целое число, возвращаемое функцией
X Число

Пример:

var x = Float.round(2.3); var y = Float.round(4.8);

Результат:

x = 2 y = 5



Функция sqrt()


Данная функция возвращает квадратный корень параметра x.

Синтаксис:

n = Float.sqrt(x)

Параметр Описание
N Число с плавающей точкой, возвращаемое функцией
X Число

Пример:

var x = Float.sqrt(4); var y = Float.sqrt(17.64);

Результат:

x = 2 y = 4.2



Вызов на странице WML сценария WMLScript


Как уже было сказано, сценарии WMLScripts не встраиваются в страницу WML- эти страницы содержат только ссылки на адреса URL-сценариев.

Если в следующем примере выбрать метку "Вперед", то внешний сценарий направит пользователя на http://www.intuit.ru/first.wml:

<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="first" title="Go URL"> <do type="options" label="Вперед"> <go href="links.wmls#go_url('INTUIT')"/> </do> </card> </wml>

Строка с тегом go содержит ссылку на сценарий WMLScript, который находится в файле с именем links.wmls. Имя функции - go_url.

Страница WML с именем links.wmls имеет следующий вид:

extern function go_url(the_url) { if (the_url=="INTUIT") { WMLBrowser.go("http://www.intuit.ru/first.wml") } }

Отметим, что функция использует ключевое слово extern. При использовании этого ключевого слова функцию могут вызывать другие функции или события WML вне файла .wmls. Чтобы сохранить функцию приватной, удалите ключевое слово extern.