WAP中的ASP技術之四

來源:互聯網
上載者:User

WAP中的ASP技術

WML基本的語言

"p" element

作用與HTML一樣,只是如果你想顯示文字這個就是必須的。

"do" element

  實際上每個WAP應用必須支援導航條。do標籤最主要的type屬性的值就是accept,這個意味著當你按下軟鍵一個新的選項會被加到列表中來。label屬性指定顯示的文字。另外是一些選項:

go - 導航到另外一個卡片或板塊中去。他需要href 屬性。

prev - 導航到上一個卡片中去

refresh - 重新整理顯示。

noop - 無

Anchor

  作用和HTML中的一樣的。在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嘛,要寫成這樣


  最後我們來看看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相結合的網站.



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.