WMLScript -
это язык сценариев для страниц WML, которые выводятся в
браузере WAP.
WMLScript
используется для:
- авторизации пользователя;
- создания диалоговых полей;
- просмотра сообщений об
ошибках;
- доступа к возможностям
агента пользователя и многого другого.
Что такое WML?
WML -
аббревиатура от Wireless Markup Language (язык разметки
для беспроводной связи). Это язык разметки, родственный
HTML, но основывающийся на XML, и поэтому его синтаксис
значительно строже, чем в HTML.
Язык WML применяется
для создания страниц, которые выводятся в браузере WAP.
Страницы в WML
называются колодами (DECKS), которые создаются как
наборы карт (CARDS).
Что такое WMLScript?
WMLScript -
это язык сценариев, которые используются на страницах
WML. Он является облегченной версией языка JavaScript.
Сценарии на этом
языке не встраиваются в страницу WML - она содержит
только ссылки на адреса URL-сценариев.
Сценарий WMLScript
перед отправкой браузеру WAP компилируется на сервере в
байт-код.
Язык WMLScript
является частью спецификации WAP.
Для чего используют сценарии
WMLScript?
- для идентификации
пользователя;
- локального создания полей
сообщений и диалоговых полей, для просмотра
сообщений об ошибках и более быстрого получения
подтверждения;
- для доступа к возможностям
агента пользователя.
Как используются сценарии
WMLScript
Вызов на странице 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.
Библиотека WMLScript Dialogs
Эта библиотека
содержит функции, которые выводят предупреждающие
сообщения.
Функции библиотеки Dialogs
Функция |
Описание |
alert() |
Выводит
сообщение и ожидает подтверждение |
confirm() |
Выводит
сообщение и ожидает ответ |
prompt() |
Выводит
сообщение и ожидает ввод |
Функция alert()
Данная функция
выводит сообщение, ожидает подтверждение и возвращает
пустую строку.
Синтаксис:
n = Dialogs.alert(message)
Параметр |
Описание |
N |
Пустая
строка, возвращаемая функцией |
Message |
Строка,
содержащая сообщение |
Пример:
var x = Dialogs.alert("Ошибка!");
Результат
x = ""
Функция 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")
Функция prompt()
Данная функция
выводит сообщение и ожидает ввод. Второй параметр
является вводом по умолчанию, который возвращается, если
пользователь не ввел никакого значения. Функция
возвращает строку, введенную пользователем, или значение
по умолчанию.
Синтаксис:
n = Dialogs.prompt(message,
defaultinput)
Параметр |
Описание |
N |
возвращаемая функцией строка |
message |
строка,
содержащая сообщение (вопрос) |
defaultinput |
строка,
содержащая значение по умолчанию (ответ) |
Пример:
var x = Dialogs.prompt("Ваше
число:","7");
Результат:
x = "3" (если введено 3)
x = "7" (если не введено значение)
Библиотека WMLScript Float
Эта библиотека
содержит набор математических функций.
Функции библиотеки Float
Библиотека работает
только в том случае, когда клиент поддерживает числа с
плавающей точкой. Если числа с плавающей точкой не
поддерживаются, все функции будут возвращать
invalid ("недопустимо").
Функция |
Описание |
ceil(x) |
Возвращает ближайшее целое, которое не
меньше указанного числа |
floor(x) |
Возвращает ближайшее целое, которое не
больше указанного числа |
int(x) |
Возвращает целую часть указанного числа |
maxFloat() |
Возвращает максимально возможное число с
плавающей точкой |
minFloat() |
Возвращает наименьшее возможное число с
плавающей точкой |
pow(x,y) |
Возвращает результат возведения значения
x в степень
y |
round(x) |
Округляет
число до ближайшего целого |
sqrt(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
Функция 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
Функция 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
|