來源:https://www.zpqxrif.com| 2019-08-31 01:24:50
它是由一(yī)系列協議組成,用來标準化無線通信設備,可用于Internet訪問,包括收發電(diàn)子郵件,訪問WAP網站上的頁面等等。WAP将移動網絡和Internet以及公司的局域網緊密地聯系起來。提供一(yī)種與網絡類型、運行商(shāng)和終端設備都獨立的移動增值業務。WAP(wml)開(kāi)發教程WAP(無線應用協議)是在數字移動電(diàn)話(huà)、因特網或其他個人數字助理機(PDA)、計算機應用之間進行通訊的開(kāi)放(fàng)全球标準。
通過這種技術,無論你在何地、何時隻要你需要信息,你就可以打開(kāi)你的WAP手機,享受無窮無盡的網上信息或者網上資(zī)源。如:綜合新聞、天氣預報、股市動态、商(shāng)業報道、當前彙率等。電(diàn)子商(shāng)務、網上銀行也将逐一(yī)實現。你還可以随時随地獲得體(tǐ)育比賽結果、娛樂圈趣聞以及幽默故事,爲生(shēng)活增添情趣,也可以利用網上預定功能,把生(shēng)活安排的有條不紊。WAP協議包括以下(xià)幾層:1、Wireless Application Environment (WAE)2、Wireless Session Layer (WSL)3、Wireless Transaction Layer (WTP)4、Wireless Transport Layer Security (WTLS)5、Wireless Transport Layer (WDP)其中(zhōng),WAE層含有微型浏覽器、WML 、WMLSCRIPT的解釋器等等功能。WTLS層爲無線電(diàn)子商(shāng)務及無線加密傳輸數據時提供安全方面的基本功能。WAP協議的誕生(shēng)是WAP論壇成員(yuán)多年努力的結果。它是針對不同的協議層定義了一(yī)系列協議,這些協議使得各方面的廠商(shāng)和公司可以協同工(gōng)作,開(kāi)發無線通信網絡的應用。目前有超過100個成員(yuán)加入WAP論壇,包括有終端和基礎設備的制造商(shāng),有移動通信的網絡運營商(shāng),有業務提供商(shāng),有軟件公司,也有網絡内容提供商(shāng)等,共同爲移動設備開(kāi)發服務和應用。但是,目前由于無線網的帶寬等等因素的限制,WAP手機的在多媒體(tǐ)上的應用如:可視會議、多媒體(tǐ)教學等等,還須一(yī)段時日。WAP規範還在不斷地完善,WAP論壇成員(yuán)們在加緊開(kāi)發功能完善的WAP設備,這無疑加快其在無線因特網綜合服務領域的擴展速度。關于WAP有幾點,應該注意一(yī)下(xià):1.WAP不隻是将手機帶入IP/Internet網絡WAP規範考慮了很多無線網絡和手機的特性。即便是3G的手機也無法把屏幕做的象通用計算機一(yī)樣,來浏覽HTML頁面。直接接入IP網,9110在98年就可以,但是應用呢,不可能Nokia, Motarola, Ericsson推出手機時各自定義一(yī)套應用。象WWW一(yī)樣,在規範推出以前,已經有了很多基于IP網絡的應用,包括一(yī)些做的很好的軟件。但Internet遍地開(kāi)花卻是在WWW規範推出之後。WAP很大(dà)的意義在于統一(yī)的标準。WAP和無線IP網絡并不矛盾,WAP協議規定,若承載基于IP,WDP就是UDP。等無線IP網絡普及,若認爲上面幾層太繁瑣,最多是WAP協議中(zhōng)間幾層略掉(其實也沒太多東西)。2.WAP應用模式很多隻要手機和網絡支持統一(yī)标準,業務發展是不可限量的。這一(yī)點就不多說了。3.WAP是發展的WAP規範不僅定義了和Internet結合部分(fēn),還定義WTE,及話(huà)音部分(fēn),可以說發展還早呢。要是以後通訊核心網建起來,話(huà)音業務沒準都采用WAP來實現。WML學習(一(yī))概述WML(Wireless Markup Language - 無線标記語言)這種描述語言同我(wǒ)們常聽(tīng)說的HTML語言同出一(yī)家,都屬于X ML語言這一(yī)大(dà)家族。HTML語言寫出的内容,我(wǒ)們可以在我(wǒ)們的PC機上用IE或是Netscape等浏覽器進行閱讀,而 WML語言寫出的文件則是專門用來在手機等的一(yī)些無線終端顯示屏上顯示,供人們閱讀的,并且同樣也可以向使用者提供人機交互界面,接受使用者輸入的查詢等信息,然後向使用者返回他所想要獲得的最終信息。基本規則* WML使用XML文檔字符集,目前支持 Unicode 2.0,和HDML不同, WML的所有标簽,屬性和規定的可接收值必須小(xiǎo)寫,CARD的名字和變量也是區分(fēn)大(dà)小(xiǎo)寫的。和HDML一(yī)樣,對于連續的空字符,隻顯示一(yī)個空格。标簽内屬性的值必須用“或者‘括起來,屬性名,=和值之間不能有空格。對于不成對出現的标簽,必須在 》 前加 / ,比如《br/》。在對變量的引用上和HDML基本相同,有:以下(xià)爲引用的内容:$(var1:esc)$(var1:noesc)$(var1:unesc)三種形式,具體(tǐ)含義參見前面HDML的相關部分(fēn)。在對保留字符的處理上也基本相同,對應的取代字符有:以下(xià)爲引用的内容:《 《》 》’ '” “& &$ $$空格- -這裏要指出的是在URL的傳遞過程中(zhōng),用來連接參數的 & 必須轉化爲 & 。WML學習(二)基本格式和文件頭wml文件的一(yī)般格式:以下(xià)爲引用的内容:《?xml version=”1.0“?》《!DOCTYPE wml PUBLIC ”-//WAPFORUM//DTD WML 1.1//EN“ ”http://www.wapforum.org/DTD/wml_1.1.xml“》《wml》《head》《access/》《meta.。../》《/head》《card》Some contents.。.《/card》《wml》結構看上去(qù)和HTMl文件很類似,對于每一(yī)個DECK,在其文檔開(kāi)頭必須指明以下(xià)的類型聲明:以下(xià)爲引用的内容:《?xml version=”1.0“?》《!DOCTYPE wml PUBLIC ”-//WAPFORUM//DTD WML 1.1//EN“ ”http://www.wapforum.org/DTD/wml_1.1.xml“》千萬注意字母的大(dà)小(xiǎo)寫。對于一(yī)個DECK,其文件大(dà)小(xiǎo)最好不要超過1.2K。《wml》标簽和HTML中(zhōng)的《html》标簽一(yī)樣,用來表明這是一(yī)個 WML的DECK,它有一(yī)個可選的xml:lang屬性來制定文檔的語言,比如《wml xml:lang=”zh“》表示文檔語言爲中(zhōng)文。和HTML一(yī)樣《head》标簽包含了該DESK的相關信息。《head》 标簽之間可以包含一(yī)個《access》标簽和多個《meta》标簽。《access domain=”域“ path=”/路徑“ /》相當于HTML中(zhōng)的《BASE》标簽,指定該DECK的訪問控制信息,它用兩個可選的屬性,domain用來指定域,默認值爲當前域, path用來指定路徑,默認值爲”/“,即根目錄。由于 《access》單獨使用,所以要用/結尾,以後對于類似的情況不再贅述。《meta 屬性 content=”值“ scheme=”格式“ forua=”true|false“/》 和HTML中(zhōng)的類似,提供了該DECK的meta信息。屬性是必選的,包括一(yī)下(xià)三種情況name=”name“ UP.Link Server忽略meta數據http-equiv=”name“ UP.Link Server将meta 數據轉爲 HTTP 響應頭(同HTML)user-agent=”agent“ UP.Link Server 直接将 meta 數據傳給手機設備,content屬性也是必選的,其内容根據屬性而定。scheme屬性目前尚不支持。forua 爲可選屬性,指定在該wml文件傳到客戶端之前,《meta》标簽是不是被中(zhōng)間代理删除(因爲傳輸的協議可能改變),默認值爲false。目前支持的meta數據:《meta http-equiv=”Cache-Control“ content=”max-age=3600“/》指定DECK在手機内存緩存中(zhōng)的存儲時間段,默認的爲30天(除非内存耗盡),在該期間, 手機對于訪問過的DECK直接從緩存裏調用。如果信息是對時間敏感的,可以用max-age指定DECK在緩存裏的生(shēng)存期,最小(xiǎo)單位是秒, 如果指定爲0, 則每次都需通過連接服務器來調用該DECK。《meta user-agent=”vnd.up.markable“ content=”false“/》和《meta user-agent=”vnd.up.bookmark“ content=”指定的URL“/》 類似于普通浏覽器的書(shū)簽功能。當用戶将一(yī)個CARD做了書(shū)簽後,手機浏覽器首先用一(yī)個标記記錄該CARD, 這個标記默認的是《card》标簽中(zhōng)的title屬性(以後會講到),然後當用戶選擇了該書(shū)簽以後,浏覽器就會打開(kāi)被記錄的URL。但是因爲在默認的情況下(xià),手機會記錄所有的DECK,所以,一(yī)般《meta》被用來使手機不要記錄當前的URL(網站制作),即《meta user-agent=”vnd.up.markable“ content=”false“/》。此外(wài), 如果要爲書(shū)簽指定不同于當前DRECk的 URL,用《meta user-agent=”vnd.up.bookmark“ content=”指定的URL“/》。一(yī)個DECK可以包含多個CARD,每個CARD的内容可能不止一(yī)屏顯示,注意DECK,CARD和屏幕顯示範圍的關系。一(yī)個CARD用《card》和《/card》包含。《card》可以包含以下(xià)可選的屬性:《card id=”name“ title=”label“ newcontext=”false“ ordered=”true“ onenterforward=”url“ onenterbackward=”url“ ontimer=”url“》*id屬性用來指定CARD的名字,可用來在CARD間跳轉,相當于在HTML中(zhōng)在頁内跳轉時用《A NAME=”jumpHere“》。*title屬性用來作爲書(shū)簽的标記,該屬性一(yī)般不會顯示在屏幕上。*newcontext屬性,默認值爲false, 用來指示當跳轉到本CARD時,手機是不是要清除以前保留的信息,包括變量,堆棧裏的曆史記錄,重新設置手機狀态等。*ordered屬性,默認值是true,表明該CARD裏的内容是按固定的順序顯示, 還是按用戶的選擇來顯示。這點和HTMl不同,CARD 頁面裏的内容可以按一(yī)定的順序顯示,默認的是按線性順序顯示,即按代碼的順序, 但是,要注意的是,以下(xià)三個标簽必須按以下(xià)順序來寫《onevent》《timer》《do》, (這和以後要講的“事件”有關)。這樣做是爲了方便填表單,當ordered設置爲true時,如果一(yī)個表單的内容不能在一(yī)屏裏顯示完,就分(fēn)成多屏顯示;當ordered設置爲false時, 手機可以顯示一(yī)個概要CARD來總結有效的選項,用戶可以從中(zhōng)選取表單選項來填寫。*onXXX屬性,類似于HTML标簽中(zhōng)的onXXX屬性,用來捕捉事件,當事件被觸發時執行指定的操作(任務),在這裏是轉向某個URL。WML學習(三)顯示文本在文本的顯示上WML基本和HTML相同。文字段落包含在《p align= ”alignment“ mode=” wrapmode“》和《/p》之間,align屬性指定該段文字的對齊方式,默認的是left,其他可選擇right和center;mode屬性指定當一(yī)行顯示不下(xià)所有的文字時是否自動換行,默認的是自動換行wrap,如果選nowrap,則在一(yī)行中(zhōng)顯示,浏覽器會通過類似于水平滾動條的機制來顯示所有文字。換行标簽也一(yī)樣爲《br/》,這裏先替一(yī)下(xià),在标單中(zhōng)如果有多個《input》或者《select》,其間不要用《br/》,否則會使手機浏覽器認爲是斷點而把表單分(fēn)頁顯示。文字的修飾标簽有《b》、《i》、《u》、《em》、《strong》、《big》和《small》,意義和HTML裏的相同。表格的顯示标簽也和HTML相近,使用《table title=”name“ align=”left|right|center“ columns=”列數“》、《tr》和《td》來顯示,《table》的title屬性用來給表格取個名字,columns屬性指定表的列數,不能爲0,可選的align屬性和前面提到的一(yī)樣是對齊方式。表格中(zhōng)可以包含文字和圖片。test1.wml--------------以下(xià)爲引用的内容:《?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 align=”center“》《i》Hello《/i》《br/》《b》《i》World!《/i》《/b》《table title=”mytable“ align=”right“ columns=”2“》《tr》《td》1-1《/td》《td》1-2《/td》《/tr》《tr》《td》2-1《/td》《td》2-2《/td》《/tr》《/table》《/p》《/card》《/wml》顯示圖片顯示圖片(1位黑白(bái)BMP圖片)的标簽一(yī)樣類似于HTML,《img alt=”text“ src=”url“ localsrc=”icon“ align=”left“ height=”n“ width=”n“ vspace=”n“ hspace=”n“/》,屬性中(zhōng)alt和src是必須要有的,其他可選。另外(wài)要注意的是《img》要放(fàng)在《p》裏,不能放(fàng)在《do》和《option》等功能健标簽和選單标簽裏。*alt屬性用來指定當手機不支持圖片顯示時用來顯示的文字。*src屬性指定圖片的URL,但當有了以下(xià)的localsrc屬性時,手機浏覽器就忽略src屬性。*localsrc屬性用來指定顯示存在手機ROM中(zhōng)的圖标,如果找不到,則到UP.Link Server上去(qù)找。*可選的align屬性用來表明圖片同當前行文本的對齊方式,默認值爲bottom,可選to和middle。*height、width、vspace、hspace屬性分(fēn)别指定圖片的長寬和距環繞文字的間距,目前不是所有的WAP手機都支持這些屬性。test2.wml---------------以下(xià)爲引用的内容:《?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 align=”center“》《img alt=”:)“ src=”xxx.bmp“ localsrc=”smileyface“/》《/p》《/card》《/wml》WML學習(四)錨和任務連接是 HTML 頁面裏最基本的功能, 在 WML 裏也一(yī)樣用 《a href=”url“ title=”label“》 和 《/a》來包括用來建立連接的文字,必選屬性href指定了要打開(kāi)的URL,可選的title屬性給該連接取個标記名字,這個名字将作爲軟按鈕之一(yī)的ACCEPT鍵(詳見以前的HDML入門文章)的标記顯示在屏幕的軟按鈕區,所以通常可以将屬性作爲提示文字是用。然而,以上的連接在WML裏隻是任務的一(yī)種情況,爲了能夠使用其它任務,所以引進了新的标簽《anchor title=”label“》任務标簽 文本《/anchor》,《a》其實是當任務标簽爲《go/》時的簡單表示方式。test3.wml---------------以下(xià)爲引用的内容:《?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 title=”Link1“》《go href=”test1.wml“/》News《/anchor》《br/》《a title=”Link2“ href=”test2.wml“》Sports《/a》《/p》《/card》《/wml》WML裏的任務标簽有以下(xià)幾種,除了用于《anchor》,還可以用在事件中(zhōng):1)《go》用來指示浏覽器顯示指定的URL,包括DECK的第一(yī)個CARD或者指定的CARD。語法如下(xià):以下(xià)爲引用的内容:《go href=”url“ sendreferer=”false|true“ method=”get|post“ accept-charset=”charset“》《postfield name=”name“ value=”value“/》《setvar name=”name“ value=”value“/》《/go》其中(zhōng)href屬性爲必選,其他爲可選。sendreferer屬性表示是否傳遞調用href所指定的URL的頁面的URL,也就是當前頁的URL,即 HTTP 頭中(zhōng)的HTTP_REFERER,默認值爲false,可選值爲true。method和HTML中(zhōng)的表單FORM的method屬性一(yī)樣,指定表單是以get的方式還是post的方式遞交,以便cgi處理,默認的值爲get,但如果未指定method但《go》《/go》間存在《postfield》,手機自動以post方式傳遞。accept-charset 屬性可覆蓋在HTTP頭裏指定的字符集,可以寫多個字符集,如accept-charset=”UTF-8,US-ASCII, ISO-8859-1“。《postfield name=”name“ value=”value“/》可以看作是HTML表單FORM中(zhōng)的《INPUT TYPE=”HIDDEN“ NAME=”變量名“ VALUE=”值“》,通過它可以向指定的URL傳遞以“變量名/值”形式的數據。name和value屬性都是必選的。注意隻有這裏的變量是用來遞交給CGI程序的。除了《postfield》,還可以在《go》和《/go》間加入一(yī)句或者多句《setvar name=”name“ value=”value“/》,該語句的意思是,當觸發某一(yī)事件時,給變量賦值。要注意的是,當《go》和《/go》之間沒有任何語句時,要用《go/》的形式,這點比較特别,比如《anchor title=”Link1“》《go href=”test.wml“/》News《/anchor》。2)《prev》用來将當前頁面的URL壓入URL曆史堆棧,并打開(kāi)此前的URL,若該URL不存在,則《prev》無效。語法類似《go》:《prev》《setvar name=”name“ value=”value“/》《/prev》,《prev》和《/prev》之間可加入一(yī)句或多句《setvar name=”name“ value=”value“/》,若不加,則必須變成《prev/》的形式。3)《refresh》用來刷新當前的頁面,從而使得頁面内的變量刷新,語法爲《refresh》《setvar name=”name“ value=”value“/》《/refresh》。4)《noop》,表示什麽也不做,該标簽不能用在《anchor》中(zhōng),一(yī)般用在覆蓋DECK級的《do》(以後會說明)。WML學習(五)顯示表單類似于HTML的《FORM》,《fieldset》可用來包括一(yī)組表單選項,但不是必須的。前面說過,當《card》的ordered設置爲false時,手機可以顯示一(yī)個概要CARD來總結有效的選項,方便用戶從中(zhōng)選取表單選項來填寫,概要CARD就是根據《fieldset》和獨立的輸入框《input》以及選單《select》來總結的。語法爲, 《fieldset title=”label“》表單内容《/fieldset》,可選的title屬性除了可用來表示表單的名字外(wài),還在概要CARD裏作爲選擇項的标題。表單内容可以是嵌套的《fieldset》,輸入框《input》,選單《select》和必要的提示文本。《input name=”variable“ title=”label“ type=”type“ value=”value“ default=”default“ format=”specifier“ emptyok=”false|true“ size=”n“ maxlength=”n“ tabindex=”n“/》,用來輸入文本,除了name屬性是必要的,其他可選。*name屬性,指定了用來存儲該輸入文本的變量名字。*title屬性,該輸入框的名字,同樣可被用來作爲概要CARD頁中(zhōng)的選項名。*type屬性,默認值爲text,如選擇password,則輸入的數據顯示爲*。*value屬性,在語法和行爲上等同于下(xià)面的default屬性,*default屬性,指定輸入框的默認值,即name屬性指定變量的默認值,當用戶輸入新值時,該值無效,如果該值不符合以下(xià)format屬性的規定,則手機也忽略該默認值。*format 屬性,用來格式化輸入的數據,可用的标記如下(xià),使用時可用“一(yī)位數字标記”和“*标記”的形式,前者代表N個标記型字符,如3X, 後者代表任意個(小(xiǎo)于maxlength屬性的值)标記型字符。标記 描述A 任何符号或者大(dà)寫字母(不包括數字)a 任何符号或者小(xiǎo)寫字母(不包括數字)N 任何數字(不包括符号或者字母)X 任何符号、數字或者大(dà)寫字母(不可改變爲小(xiǎo)寫字母)x 任何符号、數字或者小(xiǎo)寫字母(不可改變爲大(dà)寫字母)M 任何符号、數字或者大(dà)寫字母(可改變爲小(xiǎo)寫字母)或者多個字符,默認爲首字大(dà)寫m 任何符号、數字或者小(xiǎo)寫字母(可改變爲大(dà)寫字母)或者多個字符,默認爲首字小(xiǎo)寫*maxlength屬性,指定了用戶可輸入的最大(dà)字符長度,最大(dà)限制爲256個字符。*emptyok屬性,表示用戶可否不填輸入框,默認爲false,即要填。*size屬性,輸入框顯示長度,目前未被支持。*tabindex屬性,類似于在HTML表單中(zhōng)按TAB鍵後,焦點落在哪個選項上,該值決定了這個選擇順序,數字大(dà)的排在後面。目前未被支持。test4.wml---------------以下(xià)爲引用的内容:《?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=”card1“ ordered=”false“》《p》USERNAME:《input name=”userName“ title=”User Name“ type=”text“ value=”YourNameHere“ format=”*M“ emptyok=”false“ maxlength=”12“ tabindex=”1“/》PASSWORD:《input name=”password“ title=”Password“ type=”password“ format=”8x“emptyok=”false“ maxlength=”8“ tabindex=”2“/》COMMENTS:《input name=”comments“ title=”comment“ type=”text“ value=”YourCommentsHere“ format=”*M“ emptyok=”true“ maxlength=”30“ tabindex=”3“/》《/p》《/card》《/wml》将上例《card》中(zhōng)的odered的值改爲”true“試試看,然後再在《p》和《/p》内加入《fieldset title=”field1“》和《/fieldset》試試看。《select》選單類似于HTML表單中(zhōng)的《SELECT》,《select》和《/select》間可包含《optgroup》和《option》标簽,語法如下(xià),所有屬性都爲可選:《select title=”label“ multiple=”false|true“ name=”variable“ default=”default“ iname=”index_var“ ivalue=”default“ tabindex=” n“》《optgroup title=”label“》選單内容《/optgroup》《option title=”label“ value=”value“ onpick=”url“》事件或者文本《/option》《/select》*title屬性,如以上《input》的title屬性。*multiple屬性,指定用戶可否進行多項選擇,默認值爲false。*name屬性,用來存儲用戶選擇項的變量名,其值爲 《option》标簽的value屬性,若用戶沒有選擇又(yòu)沒有用 default 屬性指定默認值, 則手機将改變量賦值爲空字符串”“,對于多項選擇,每個值用“;”分(fēn)開(kāi)。*default屬性,可爲name屬性指定的變量賦默認值。*iname屬性,用來記錄用戶選擇項的位置,相應的值從 1 開(kāi)始。 若沒選,則該值爲0。*ivalue屬性,用來記錄默認值所在的位置。《optgroup》可用來将多個《option》分(fēn)組,《optgroup》和《/optgroup》間還可包括《optgroup》和《option》,該标簽目前尚未被支持。《option》,類似于HTML中(zhōng)選單的《OPTION》,用來表示選單的可選項。《option》和《/option》間可包括事件(見下(xià)節)和選單的顯示文本。《option》 的屬性爲可選,其中(zhōng)value屬性用來提供值,當選到該項後,将該值賦給《select》 的name屬性所指定的變量。onpick屬性,用來指定用戶選到該項并按ACCEPT鍵後所打開(kāi)頁面的URL。test5.wml---------------以下(xià)爲引用的内容:《?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=”card0“ ordered=”false“》《p》Please select a city.。.《select title=”Cities List“ name=”city“》《option title=”Beijing“ value=”c1“》Beijing《/option》《option title=”Shanghai“ value=”c2“》Shanghai《/option》《option title=”Hongkong“ value=”c3“》Hongkong《/option》《/select》Please select columns.。.《select title=”Column List“ multiple=”true“ name=”col“》《option title=”Hot News“ value=”l1“》News《/option》《option title=”Cool Sports“ value=”l2“》Sports《/option》《option title=”Pop Enter,,,“ value=”l3“》Entertainment《/option》《/select》《/p》《/card》《/wml》WML學習(六)事件WML的事件基本上分(fēn)爲兩大(dà)類,一(yī)類是鍵盤(包括軟硬按鈕)輸入事件,用《do》标簽來處理,另一(yī)類是相關頁面内部的事件,用《onevent》标簽來處理。《do》的語法如下(xià):《do type=”type“ label=”label“ name=”name“ optional=”false|true“》任務《/do》,任務就是以前提到的四種任務。《do》的屬性中(zhōng),type是必選的,其他爲可選。*label屬性,指定了軟按鈕在屏幕上的顯示文本。目前type屬性爲delete,help,prev時該屬性無效。*name屬性,爲《do》取個名字,同一(yī)的CARD裏的《do》不能重名。如果CARD級的《do》和DECK級的《do》同名,則覆蓋DECK級的《do》。*optional屬性,指定手機是不是可以忽略這個事件,默認值是false。*type屬性,指定觸發的事件,具體(tǐ)如下(xià);type值 觸發原因accept 調用ACCEPT按鈕機制delete 調用DELETE按鈕機制help 調用HELP按鈕機制options 調用選擇按鈕機制prev 調用PREV按鈕機制reset 調用清除和重新設定手機狀态時的RESET機制(目前不支持)unknown 調用unknown機制,等于type=”“(目前不支持)vnd. co-type 調用廠商(shāng)特定的機制(目前不支持)X-*, x-* 供以後使用(不保留)(目前不支持)test6.wml---------------以下(xià)爲引用的内容:《?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“/》《/head》《card id=”card0“ ordered=”false“》《do type=”accept“ label=”InputName“ name=”do1“》《go href=”#card01“/》《/do》《p》NAME:《input name=”userName“ title=”User Name“ type=”text“ format=”*M“ emptyok=”false“ maxlength=”12“/》《/p》《/card》《card id=”card01“》《p》You name is $(userName:noesc)。《/p》《/card》《/wml》《onevent》的語法如下(xià),《onevent type=”type“》任務《/onevent》,必選屬性type的取值如下(xià):type值 如果用戶執行了以下(xià)操作就執行任務onpick 用戶選擇或不選一(yī)個《option》項時。onenterforward 用戶使用《go》任務到達一(yī)個CARD時。onenterbackward 用戶使用《prev》任務返回到前面的CARD時,或者按BACK按鈕時。ontimer 當《timer》過期時。test7.wml---------------以下(xià)爲引用的内容:《?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“/》《/head》《card id=”card0“ ordered=”false“》《p》Please select a city.。.《select title=”Cities List“ name=”city“》《option title=”Beijing“ value=”Beijing“》《onevent type=”onpick“》《go href=”#card01“/》《/onevent》Beijing《/option》《option title=”Shanghai“ value=”Shanghai“ onpick=”#card01“》Shanghai《/option》《option title=”Hongkong“ value=”Hongkong“ onpick=”#card01“》Hongkong《/option》《/select》《/p》《/card》《card id=”card01“》《p》You are Living in $(city:noesc)《/p》《/card》《/wml》《timer/》可以用來在用戶不進行任何操作的一(yī)段時間後,自動執行一(yī)個任務,任何激活CARD頁面的任務和用戶操作都會啓動《timer/》,而任務進行時,《timer/》就停止。每個CARD隻能有一(yī)個《timer/》,一(yī)個《timer/》隻能觸發一(yī)個任務。語法如下(xià):《timer name=”variable“ value=”value“/》,其中(zhōng)name爲可選屬性,指定爲一(yī)個變量名,當退出該CARD時,該變量存儲此時定時器的值,當定時器超時時,手機将該變量設爲0;value爲必選屬性,用來設置定時器的定時值,最小(xiǎo)單位爲0.1秒。test8.wml---------------以下(xià)爲引用的内容: 《?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“/》《/head》《card id=”card1“ ontimer=”#card2“》《timer name=”time1“ value=”50“/》《p align=”center“》After 5s, goto card2《/p》《/card》《card id=”card2“》《onevent type=”ontimer“》《go href=”#card1“/》《/onevent》《timer name=”time2“ value=”50“/》《p align=”center“》Here is card2!《/p》《/card》《/wml》再提一(yī)下(xià),《onevent》 《timer》 《do》三者必須按以上順序寫。此外(wài)在DECK級還可以加入《template》,用來将事件捆綁在DECK級上,語法如下(xià):《template onenterforward=”url“ onenterbackward=”url“ ontimer=”url“》《do》或者《onevent》《/template》test9.wml---------------以下(xià)爲引用的内容:《?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“/》《/head》《template》《do type=”accept“ label=”deckPress“ name=”do1“》《go href=”#card01“/》《/do》《/template》《card id=”card0“ ordered=”false“》《do type=”accept“ label=”cardPress“ name=”do1“》《go href=”#card02“/》《/do》《p》Press ACCEPT.。.《/p》《/card》《card id=”card01“》《p》Here is card01《/p》《/card》《card id=”card02“》《p》Here is card02《/p》《/card》《/wml》WML學習(七)CGI編程1)在WEB服務器上添加WML的MIME類型對于IIS4,可在其管理器裏的站點屬性中(zhōng)加入新的MIME類型,後綴.wml和 MIME類型text/vnd.wap.wml。對于PWS,可修改注冊表,先在 HKEY_CLASSES_ROOT層加入主鍵.wml,再加入串值Content Type爲text/vnd.wap.wml,然後在HKEY_LOCAL_MACHINESoftwareCLASSESMIMEDatabaseContent Type中(zhōng)加入主鍵text/vnd.wap.wml,再加入串值Extension爲.wml。以前提到的HDML也用類似的方法。2)以http方式訪問wml文件在手機浏覽器的URL欄裏輸入http://localhost/test.wml,就可以訪問WML文件了。3)CGI設計和普通CGI變成的方式差不多,隻是返回結果時,先要輸出Content-Type爲text/vnd.wap.wml,然後再輸出WML内容。test10.wml---------------以下(xià)爲引用的内容:《?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“/》《/head》《card id=”card0“》《do type=”accept“ label=”Input Name“ name=”do1“》《go href=”http://localhost/test.asp“ method=”post“》《postfield name=”uid“ value=”123456“/》《postfield name=”uname“ value=”$(userName:esc)“/》《/go》《/do》《p》NAME:《input name=”userName“ title=”User Name“ type=”text“ format=”*M“ emptyok=”false“ maxlength=”12“/》《/p》《/card》test10.asp---------------《%uid=Request.Form(”uid“)userName=Request.Form(”uname“)Response.ContentType=”text/vnd.wap.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》《p》USERNAME:《%=userName%》USER__ID:《%=uid%》《/p》《/card》《/wml》WAP網站服務器配置設置APACHE WEB SERVER不管是NT 還是UNIX 或LINUX ,都是修改 Apache 安裝目錄下(xià)的conf/mime.types文件在該文件中(zhōng)增加以下(xià)内容:text/vnd.wap.wml .wmlimage/vnd.wap.wbmp .wbmpapplication/vnd.wap.wmlc .wmlctext/vnd.wap.wmls .wmlsapplication/vnd.wap.wmlsc .wmlsc存盤重新啓動APACHE WEB SERVER 即可。基于WINDOW NT平台的IIS設置WAP SERVER隻要按照以下(xià)的簡單設置,就可以讓NT IIS成爲WAP服務器,您可以撰寫WML網頁或者開(kāi)發各種服務。設定方式:(先确定NT Server已經安裝IIS了服務)執行NT操作系統下(xià)的【開(kāi)始】/【程序】/【Windows NT Option Pack】/【IIS 4.0】/Internet服務管理員(yuán)。在IIS服務管理員(yuán)窗口內,點選主機電(diàn)腦名稱後,按鼠标右鍵,點選“屬性”選項;在屬性窗後下(xià)部有一(yī)個文件類型按鈕,單擊此按鈕,會出現文件類型界面;單擊‘新增類型’按鈕,然後在相關的擴展名欄中(zhōng)填寫 .wml ,在内容類型(MIME)欄中(zhōng)填寫 text/vnd.wap.wml單擊‘确定’按鈕重複以上步驟将以下(xià)WML類型新增至MIME內:相關的擴展名 內容類型(MIME).wml text/vnd.wap.wml.wmlc application/vnd.wap.wmlc.wmls text/vnd.wap.wmlscript.wmlsc application/vnd.wap.wmlscriptc.wbmp image/vnd.wap.wbmpWAP網站建設(WAP網站制作)全攻略教程由東莞網站設計編輯 /news/3354.html如需轉載請注明出處
門戶網站建設 深圳網站建設 江門網站建設 雲浮網站建設 肇慶網站建設 清遠網站建設 東莞網頁設計 東莞建網站 東莞網絡推廣 東莞做網站公司 東莞網站設計 東莞網站開(kāi)發 東莞網站制作 東莞建站費(fèi)用