它是(shì)由一(yī / yì /yí)系列協議組成,用來(lái)标準化無線通信設備,可用于(yú)Internet訪問,包括收發電子(zǐ)郵件,訪問WAP網站上(shàng)的(de)頁面等等。WAP将移動網絡和(hé / huò)Internet以(yǐ)及公司的(de)局域網緊密地(dì / de)聯系起來(lái)。提供一(yī / yì /yí)種與網絡類型、運行商和(hé / huò)終端設備都獨立的(de)移動增值業務。WAP(wml)開發教程WAP(無線應用協議)是(shì)在(zài)數字移動電話、因特網或其他(tā)個(gè)人(rén)數字助理機(PDA)、計算機應用之(zhī)間進行通訊的(de)開放全球标準。

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