<<<上一頁
WML基本的語言
"p" element
作用與Html一樣,只是如果你想顯示文字這個就是必須的。
"do" element
實際上每個WAP應用必須支持導航條。do標簽最主要的type屬性的值就是accept,這個意味著當你按下軟鍵一個新的選項會被加到列
表中來。label屬性指定顯示的文字。另外是一些選項:
go - 導航到另外一個卡片或板塊中去。他需要href 屬性。
PRev - 導航到上一個卡片中去
refresh - 刷新顯示。
noop - 無
Anchor
作用和Html中的<A>一樣的。在WML中Anchor鏈接的作用和do差不多,唯一的不同就是Anchor不以選項的形式顯示。
<anchor>
Go to card 2
<go href="#card2"/>
</anchor>
變量
WML結合變量的辦法有一點不同於Html和Javascript。WML的變量不僅可以被WMLScript來調用,還可以通過card直接用於WML文
檔。換句話說就是變量不僅可以由用戶直接輸入,同時也可以由setvar元素來設置。當然變量能夠被腳本來操作,但這個不是必須
的!這個觀點必須被更進一步的強調和闡明。例如,你可能需要一個card來獲得用戶的名字,下一個card就顯示"Hello,飛刀",我
們就可以這樣"Hello,$(firstname)",有點像PHP,是不是,這個在傳統的Html中是不可能辦到的!
既然變量的值能夠在各個card之間保存,那麼它們就經常被用於保存狀態信息,支持一些復雜的交互式WAP服務。這種方法的一個
問題就是當整個deck不得不重新引用時,這些狀態可能與用戶的浏覽不能保持同步。所以,一些事件和屬性就被用來捕獲這些事件
(onenterofrward 和 onenterbackward).刷新則根據一些變量的值被用做更新card.
用戶輸入
當然,為了使你的頁面變得更加的強大,變量就需要儲存(接收)用戶的標准輸入。這一切通過一些類似於Html的元素來完成.
input - 很像Html,用戶通過手機的鍵盤來輸入。你能夠想像,這種輸入就不像我們使用PC上的鍵盤一樣實用,所以我們應當盡量
簡化這種輸入方式,有可能盡量使用select元素來供用戶選擇。name屬性是這個變量的名字,缺省值和大小的屬性顯然也是必須
的。format為輸入入口指定了一個輸入面具。其它的請查看其它資料,在這我就不一一講述了!
select/option - 用戶選項的列表。同樣也很像Html:
<select name='movIE'>
<option value='1'>Eyes Wide Shut</option>
<option value='2'>Notting Hill</option>
:
<option value='13'>Buena Vista Social Club</option>
</select>
multiple=true屬性告訴用戶代理(浏覽器)多項選擇是被允許的. onpick事件發生於一個選項被選擇/被取消時.
PostfIEld - 很像Html中的hidden屬性,它將不顯示在屏幕中。它能同時將name與value傳送給服務器.
FIEldset - 包含一大堆的信息強迫手機在一個屏幕中顯示,當然這得看手機的能力了
其它的元素
img元素也同樣被支持,但是你得使用一種特殊的圖片格式,名叫WBMP.因為WAP手機擁有有限的內存和儲存空間。這種新的格式能
夠讓WAP設備快速的理解和生成圖片。Wireless bitmaps的生成,可以通過下載一個Photoshop和Paint Shop Pro的插件就可以搞
定了。最後大家要記住在你的服務器上設置正確的MIME類型,下面我列出了所有與WAP有關的MIME:
wml text/vnd.wap.wml
wmlc application/vnd.wap.wmlc
wmlsc application/vnd.wap.wmlscriptc
wmlscript text/vnd.wap.wmlscript
ws text/vnd.wap.wmlscript
wsc application/vnd.wap.wmlscriptc
wmls text/vnd.wap.wmlscript
wbmp image/vnd.wap.wbmp
一些傳統的強調元素也被支持,比如:em,i,b,small,strong等等,用法也和Html一樣。BR也同樣被支持,不過寫法有點不同,畢竟
是XML嘛,要寫成這樣<br />
最後我們來看看time對象和ontimer事件,time對象保存著至card被調用至今的時間,如果我們定了ontimer事件,那麼ontimer事
件就會被激發.
還有很多我也懶得寫了,希望對你們建設WML網頁沒有什麼影響.
WAP 的開發問題
很不幸的是,事情並不是我們想像的那麼簡單,不同的WAP手機總是有一些小的不同的地方,就像M$的Javascript與NS的不同一
樣。例如,NoKia 7710這樣第一部在挪威出售的WAP手機,就不能正確的支持POST方法。
另一個限制就是deck的大小的問題。有些手機(Nokia 7110)就是不支持超過1.4K的WML文檔,WAP網關能夠將你的WML文檔壓縮成更
小的二進制格式,但是你也不要希望奇跡出現。這時不僅是Nokia 7110支持的東東不能顯示,一些強調標幟也被忽略了,另外
fIEldset標幟也很輕松地被它忽略了,是不是很煩!?嘿嘿,當你在仿真器上做出很cool的頁面,然後再到手機上一看,嘿嘿,砸
了手機是你的第一選擇.
雖然Nokia Toolkit 1.2仿真器上支持cookIEs,但是第一批WAP手機就是不支持,這就意味著你將和你的ASP中的session,說再
見,至少也是很長的一段時間
下一節,我們將真正做一個WML與ASP相結合的網站.