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

       

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



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

Если браузер пользователя поддерживает только WML (сценарию известно обэтом, так как переменной $WAPwml присвоено значение, а переменной $WAPhdmlзначение не присвоено), сценарий index.cgi будет загружать WML-страницуDemos.wml, которая отображает меню приложений, написанных на WML. WML-страница Demos.wml реализуется с помощью следующего программного кода:

&lt?xml version="1.0"?&gt &lt!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"&gt

&ltwml&gt

&lthead&gt

&ltmeta http-equiv="Cache-Control" content="max-age=0" forua="true"/&gt

&lt/head&gt

&ltcard id="select" title="Demos"&gt

&ltp align="center" mode="wrap"&gt Select Demo (WML) &lt/p&gt

&ltp align="left" mode="nowrap"&gt

&ltselect&gt &ltoption onpick="WorldTime/WorldTime.wml"&gtWorld Time&lt/option&gt &ltoption onpick="SkiConditions/SkiConditions.wml"&gtSki Conditions&lt /option&gt &ltoption onpick="MovieGuide/MovieGuide.wml"&gtMovie Guide&lt/option&gt &ltoption onpick="CurrencyScript/CurrencyScript.wml"&gtCurrency Script&lt/option&gt &ltoption onpick="SmartHouseScript/SmartHouseScript.wml"&gtSmart House Script&lt/option&gt &ltoption onpick="StockQuote/StockQuote.wml"&gtStock Quotes&lt/option&gt &ltoption onpick="PhoneBook/PhoneBook.wml"&gtPhone Book&lt/option&gt &ltoption onpick="WapPage/WapPage.wml"&gtWap Page&lt/option&gt &ltoption onpick="WapMail/WapMail.wml"&gtWAP Mail&lt/option&gt &ltoption onpick="FlightSchedule/FlightSchedule.wml"&gtFlight Schedule&lt/option&gt &ltoption onpick="PackageTracker/PTracker.wml"&gtPackage Tracker&lt/option&gt &ltoption onpick="MortgageCalc/MortgageCalc.wml"&gtMortgage Calculator&lt/option&gt &ltoption onpick="Weather/Weather.wml"&gtWeather Info&lt/option&gt &ltoption onpick="CatalogOrder/CatalogItem.wml"&gtCatalog Order&lt/option&gt &ltoption onpick="RestaurantCall/RestaurantCall.wml"&gtRestaurant- Call&lt/option&gt &ltoption onpick="RestaurantRes/RestaurantRes.wml"&gtRestaurant- Res&lt/option&gt &ltoption onpick="HotelInfo/HotelInfo.wml"&gtHotel Info&lt/option&gt &ltoption onpick="YellowPages/YellowPages.wml"&gtYellow Pages&lt/option&gt &ltoption onpick="RealEstate/RealEstate.wml"&gtReal Estate Listings&lt/ option&gt &ltoption onpick="SmartHouse/SmartHouse.wml"&gtSmart House&lt/option&gt &ltoption onpick="CurrencyConvert/CurrencyConvert.wml"&gtCurrency Converter&lt/option&gt &ltoption onpick="MortgageScript/MortgageScript.wml"&gtMortgage Script&lt/option&gt &ltoption onpick="SlotMachine/SlotMachine.wml"&gtSlot Machine&lt/option&gt &lt/select&gt




&lt/p&gt

&lt/card&gt

&lt/wml&gt

В соответствии с форматом любого из WML-приложений, представленных в данной книге, первые два элемента WML-страницы сообщают WAP-браузерам версиюWAP-спецификации, которую поддерживает приложение. Элемент <meta> позволяет указывать для WML-страницы метаинформацию. В нашем случае параметрhttp-equiv=Cache-Control сообщает WAP-браузеру, что данная часть мета-информации относится к системе кэширования памяти. Аналогично, параметрcontent=max-age=0 сообщает браузеру, что максимальное время, в течение которого должно выполняться кэширование WML-страницы, равно нулю секунд; тоесть, браузер должен не запоминать, а повторно загружать данные с сервера каждый раз, когда поступает запрос. Для данной книги нулевое значение было выбрано, чтобы помочь читателю в разработке программы. При выборе нулевогозначения каждый раз, когда происходит изменение, это изменение передается нателефон. В реально эксплуатируемом приложении статическое меню, подобноерассматриваемому здесь, по-видимому, должно использовать интервал хранения,установленный по умолчанию, равным 30 дням. Наконец, параметрforua="true" определяет, что данное значение Cache-Control предназначенодля телефона и не должно удаляться каким-либо промежуточным агентом.

Для отображения и обработки пунктов меню в программном коде используетсяэлемент <select>. Когда пользователь выбирает какое-то конкретное приложение, элемент select (Выбор) предписывает браузеру загрузить страницу приложения из соответствующего каталога.


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