Пособие по написанию WAP сайтов

         

Рассмотрение приложения Demos.wml



Рассмотрение приложения Demos.wml

Если браузер пользователя поддерживает только WML (сценарию известно обэтом, так как переменной $WAPwml присвоено значение, а переменной $WAPhdmlзначение не присвоено), сценарий index.cgi будет загружать WML-страницуDemos.wml, которая отображает меню приложений, написанных на WML. WML-страница Demos.wml реализуется с помощью следующего программного кода: <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <head> <meta http-equiv="Cache-Control" content="max-age=0" forua="true"/> </head> <card id="select" title="Demos"> <p align="center" mode="wrap"> Select Demo (WML) </p> <p align="left" mode="nowrap"> <select> <option onpick="WorldTime/WorldTime.wml">World Time</option> <option onpick="SkiConditions/SkiConditions.wml">Ski Conditions< /option> <option onpick="MovieGuide/MovieGuide.wml">Movie Guide</option> <option onpick="CurrencyScript/CurrencyScript.wml">Currency Script</option> <option onpick="SmartHouseScript/SmartHouseScript.wml">Smart House Script</option> <option onpick="StockQuote/StockQuote.wml">Stock Quotes</option> <option onpick="PhoneBook/PhoneBook.wml">Phone Book</option> <option onpick="WapPage/WapPage.wml">Wap Page</option> <option onpick="WapMail/WapMail.wml">WAP Mail</option> <option onpick="FlightSchedule/FlightSchedule.wml">Flight Schedule</option> <option onpick="PackageTracker/PTracker.wml">Package Tracker</option> <option onpick="MortgageCalc/MortgageCalc.wml">Mortgage Calculator</option> <option onpick="Weather/Weather.wml">Weather Info</option> <option onpick="CatalogOrder/CatalogItem.wml">Catalog Order</option> <option onpick="RestaurantCall/RestaurantCall.wml">Restaurant- Call</option> <option onpick="RestaurantRes/RestaurantRes.wml">Restaurant- Res</option> <option onpick="HotelInfo/HotelInfo.wml">Hotel Info</option> <option onpick="YellowPages/YellowPages.wml">Yellow Pages</option> <option onpick="RealEstate/RealEstate.wml">Real Estate Listings</ option> <option onpick="SmartHouse/SmartHouse.wml">Smart House</option> <option onpick="CurrencyConvert/CurrencyConvert.wml">Currency Converter</option> <option onpick="MortgageScript/MortgageScript.wml">Mortgage Script</option> <option onpick="SlotMachine/SlotMachine.wml">Slot Machine</option> </select> </p> </card> </wml>
В соответствии с форматом любого из WML-приложений, представленных в данной книге, первые два элемента WML-страницы сообщают WAP-браузерам версиюWAP-спецификации, которую поддерживает приложение. Элемент <meta> позволяет указывать для WML-страницы метаинформацию. В нашем случае параметрhttp-equiv=Cache-Control сообщает WAP-браузеру, что данная часть мета-информации относится к системе кэширования памяти. Аналогично, параметрcontent=max-age=0 сообщает браузеру, что максимальное время, в течение которого должно выполняться кэширование WML-страницы, равно нулю секунд; тоесть, браузер должен не запоминать, а повторно загружать данные с сервера каждый раз, когда поступает запрос. Для данной книги нулевое значение было выбрано, чтобы помочь читателю в разработке программы. При выборе нулевогозначения каждый раз, когда происходит изменение, это изменение передается нателефон. В реально эксплуатируемом приложении статическое меню, подобноерассматриваемому здесь, по-видимому, должно использовать интервал хранения,установленный по умолчанию, равным 30 дням. Наконец, параметрforua="true" определяет, что данное значение Cache-Control предназначенодля телефона и не должно удаляться каким-либо промежуточным агентом.
Для отображения и обработки пунктов меню в программном коде используетсяэлемент <select>. Когда пользователь выбирает какое-то конкретное приложение, элемент select (Выбор) предписывает браузеру загрузить страницу приложения из соответствующего каталога.



Содержание раздела