小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

關于WML

  • 1. 簡單說WML代表什么?

        WML代表“Wireless Markup Language”。WML就是無線標記語言(Wireless Markup Language),內置于移動設備中的微型瀏覽器能夠解釋這種標記語言。雖然它和HTML語言很相像,但WML其實是XML的一個應用子集。

  • 2. 什么是WML?

        WML代表Wireless Markup Language,就象HTML對普通的Web瀏覽器一樣。有人說它是基于XML,但是更準確地說WML是XML的一個應用。雖然在語法上和HTML相似,但更多的是XML。如果準備從HTML到WML,但是沒有任何的XML知識,將會發(fā)現(xiàn)WML“非常”嚴格。就像HTML,WML被讀取并且通過WAP設備中的瀏覽器解釋,然后顯示在屏幕上。對于WAP設備,瀏覽器,或者用戶代理,通常叫做微型瀏覽器。微型瀏覽器的功能是受到WAP設備的限制的。
        為什么使用WML而不是使用廣泛的HTML原因是由于WAP的工作方式以及WAP是為一個“窄小”的無線世界工作的。在Netscape、Opera或者IE上顯示HTML需要更強的計算能力。計算能力某種意義上是移動設備中的電能。由于移動設備中的電能是有限的,所以WML在發(fā)送給WAP設備之前,通常要經(jīng)過轉換和壓縮。所以WAP使用的是WML。
        讀者也許可能想到WML非常簡單,甚至不能處理HTML中的多媒體類型。這個不是問題。標記語言(WML、HTML等等)沒有操作設備的權限,例如播放聲音或者顯示動畫。仔細地觀察HTML,就會發(fā)現(xiàn)沒有一個HTML標簽能夠顯示動畫或者播放音樂。限制是來自于運行標記語言的瀏覽器。畢竟在大多數(shù)情況下,是談論移動電話。但是這個限制應該隨著無線Internet的發(fā)展而逐漸取消。

  • 3. WML與HTML有什么區(qū)別?

        雖然WML看起來十分像HTML,但是在技術上兩者的差別還是很大的。WML是為微型瀏覽器所設計的HTML的一個子集。WML的標準定義是基于XML的。

  • 4. Phone.com的 HDML和WML有什么區(qū)別?現(xiàn)在有電話支持 HDML嗎?

        HDML(Hand-held Devices Markup Language)是Phone.com開發(fā)的。它使得Web頁面可以在移動電話上顯示,其標準的公布先于WAP標準。Motorola、 Neopoint、Qualcomm 等等公司的電話使用Phone.com的瀏覽器,它支持HDML。最新的UP.Browser支持HDML和WAP。

  • 5. 為什么使用WML而不是HTML?

        首先是WAP協(xié)議要求使用WML??赡芤呀?jīng)有能夠支持HTML的WAP設備,但是那不是真正的。有一些和無線設備很像的WAP設備支持HTML,但它們也不是直接使用HTML(例如:Microsoft Mobile Explorer支持HTML和WML)。MME設備只是將兩個分離的部分做到了一起。當然也有HTML的變種,例如 iMode 瀏覽器使用Compact HTML。簡單的說,如果談論WAP設備,那么標記語言就是WML。
        有很多理由說明選擇WML而不是HTML?,F(xiàn)在最重要的一個原因就是WML與HTML相比需要很小的帶寬。隨著無線技術的提高,帶寬會越來越寬。這個原因可能不再是主要原因,但是在達到這么高帶寬之前需要許多年的時間。
        另外一個就是HTML需要相對來說比較強的處理器。處理器的能力意味著需要更強的能量。在無線設備中能量來自于電池。而一個低處理能力的處理器就意味著電池的使用時間可以更長。
        另外,HTML的確需要一個很大的顯示屏幕。移動電話上的屏幕顯然不能滿足要求。當然也許會有一個大屏幕的移動電話,但是這樣它就離移動更遠(也就是說越不像移動電話)。即使iMode支持彩色和一個類似HTML的顯示,它的尺寸已經(jīng)是你可以方便攜帶的最大尺寸。

  • 6. 為什么對于無線設備要專門設計一種特別的語言才能訪問Internet?

        許多年來,HTML標記越來越豐富,越來越龐大。此外,瀏覽器對各種HTML標記的支持也大不相同。這種狀況已經(jīng)與當初想建立一個簡單的標準相背離。
        移動設備(例如:移動電話)具有小屏幕、內存少、缺少方便的輸入設備和帶寬窄的特點。這種狀況驅使WAP討論組發(fā)展一種新的為無線設備所使用的語言,WML就此誕生了。

  • 7. 無線設備也能支持HTML格式嗎?

        從技術的角度上來說答案是肯定的。既然HTML是為普通PC瀏覽器所編寫的,也可以使用微型瀏覽器來瀏覽一個HTML頁面,但是可能沒有效果。因為移動電話不知道如何顯示該文件。這樣通常導致微型瀏覽器出現(xiàn)混亂。并且HTML頁面通常都比較大,它會把移動設備“撐壞”的。

  • 8. 如何將HTML轉換成WML?

        當考慮轉換HTML時,要想到WML是為小屏幕設計的,不可能像HTML那么豐富多采。任何轉換都將忽略很多HTML標記和許多內嵌的腳本。只有一些簡單的HTML頁面可以被滿意地轉換。轉換可以使用工具包如:Spyglass Prism,也可以通過在線的WAP網(wǎng)關過濾。

  • 9. 用什么可以瀏覽到WML頁面?

        首先需要一個具有WAP功能的手機,例如:Nokia 71110,Ericsson R320等等。用于PC機的桌面WML瀏覽器也很多,例如:WinWap、WapMan等等。

  • 10. 在哪里可以學到更多的關于XML的知識?

        可以訪問站點:www.w3c.org/xml。在該網(wǎng)站上有許多關于XML的知識有詳細的講解。

  • 11. WML的一般語法是什么?

        WML非常像XML。和HTML相比其語法規(guī)則更加嚴格,從而保證當微型瀏覽器解析和解釋的時候不會有太多的錯誤信息。
        和HTML一樣,WML使用“<”和“>”組成的格式化標簽。許多標簽都是以<tag>開頭,以</tag>結尾。在開頭或者結尾中包含的部分叫做元素。有些標簽叫做空元素,只有標簽,沒有內容,如:<tag/>。
        許多元素有屬性來描述應其中還有那些內容。屬性名字必須小寫,并且屬性值必須使用雙引號括起來。有些屬性是必須的,有些是可選的。一般的屬性標簽格式就像:<tag attribute1="value">。
        變量可以在WML卡片中定義,它們的一般格式是 $(variablename)。
        一個WML頁面有一個專門的格式,它必須以XML的文檔聲明為開頭:

    <?xml version="1.0"?>
    <!DOCTYPE wml PUBLIC "-//WAPFORUM/DTD WML 1.1//EN" "http://www./DTD/wml_1.1.xml">

        所有的頁面中的元素,都必須在<wml>和</wml>標簽之間。

  • 12. 什么是一個“deck”?

        一個WML文檔有許多卡片(cards)組成。一個卡片是一系列完整的WML代碼。這些卡片被稱為一個“deck”??ㄆ?#8220;deck”的概念就有點像HTML中的錨標記<a name="#achor1">和一個HTML頁面。也就是說卡片是“deck”中的一個組成部分。也可以把“deck”稱為WML中的頁面。它們之間的關系可以比做一副撲克牌。整副撲克牌就是deck,而每一張牌就是card。

  • 13. 什么是WML的“deck”?

        WML的“deck”或者WML文件是指decks。每個deck包含一個或者更多的card。每個deck都以<wml>開始和結束。并且每個card都以<card>開頭或者結束。
        當WML微型瀏覽器處理WML文件或者deck的時候,它閱讀整個deck,并且在deck內的各個card之間進行導航。當裝入deck的時候,deck里面所有的card都已經(jīng)裝入到內存中,直到瀏覽器裝入另外的deck。
        如果熟悉 HTML中的<a name>標簽。WML的<card>標簽將是非常類似的:

    <wml>

    <card id="start_menu">
    ...some code...
    </card>

    <card id="purchase">
    ...some more code...
    </card>

    </wml>

        deck和card可以按照這種方式調用:[deckname][#cardname]。如果deckname省略,那么瀏覽器就會查找當前內存里的cardname名字的card。如果使用了deckname和#cardname,那么瀏覽器將裝入deckname的整個deck,然后跳入到#cardname。這個和HTML的工作方式很像。

  • 14. WML是大小寫敏感的嗎?

        是的!要注意WAP 1.1使用小寫的標簽。

  • 15. 如何顯示一個美元符號?

        使用兩個在一起的美元符號來表示,即“$$”。

  • 16. 想顯示價格的格式該怎么辦?

        “$”是一個特殊的字符,使用“$$”來顯示一個“$”。

        例如:

    <p>
        The price is $$11.20
    </p>

  • 17. fieldset標簽有什么作用?

        編寫WML頁面的時候要考慮到設備的屏幕很小。如果試圖想把一個大的form在一個屏幕里面顯示,就要指定那些標簽保持在一個屏幕中。那么fieldset標簽將這些標簽捆綁在一個屏幕上。

  • 18. postfield標簽有什么作用?

        postfield標簽使允許提交參數(shù)到服務器端。注意有些早期的模擬器還不支持該標簽,這將給開發(fā)工作帶來麻煩!

  • 19. WML有類似HTML的<mailto>標簽嗎?

        沒有。但是你可以使用WML表單和服務端腳本來得到同樣的效果。

  • 20. 無法讓<input/>格式正常工作是怎么回事?

        至少Nokia WML Reference沒有講清楚有關<input/>標簽的用法。format參數(shù)控制著用戶輸入數(shù)據(jù)的類型和長度。
        注意到不是所有的WAP 1.1瀏覽器都接受所有的格式化代碼。例如:Nokia 7110就支持得不是很好。Mitsubishi Trium在處理“*f”代碼的時候有點問題,“*”必須為1或者更大。專門的格式化代碼如下:

    • A

      從A到Z的任何大寫字母,沒有數(shù)字或其他字符。

    • a

      從a到z的任何小寫字母,沒有數(shù)字和其他字符。

    • N

      任何0到9的數(shù)字。

    • X

      從A到Z從0到9的任何字符。

    • x

      從a到z從0到9的任何字符。

    • M

      任何字符,輸入默認從大寫開始。

    • m

      任何字符,輸入默認從小寫開始。

    • *f

      (星號)意味著任何數(shù)字(包括0),f是格式的代碼。

    • nf

      意味著恰好要輸入的字符個數(shù)。n從1到9。f是格式代碼。

    • 是轉義輸出字符。

        格式化字符可以組合使用來表示一種特定的格式輸入。但是強制一定的輸入應當避免在用戶出錯的時候沒有提示信息。如果輸入是不正確的,該填寫的區(qū)域一般仍保持空白,直到讓用戶知道應該輸入什么。如果只想輸入數(shù)字,使用“*N”那么將直接轉跳到數(shù)字輸入模式。如果只想輸入大寫的字符,使用“*M”轉跳到大寫輸入模式?,F(xiàn)舉一些例子:
        “N” 只接受一個數(shù)字字符。
        “*N” 接受任何數(shù)字字符。
        “NN” 只接受2個數(shù)字字符,不多不少。
        “ANN” 接受一個大寫字符(沒有數(shù)字),后面跟著兩個數(shù)字,不多不少。
        “X*N” 表示可以接受一個字符(沒有數(shù)字)后面跟著任意多的數(shù)字字符。
        “NNN\-NNN\-NNNN”表示接受美國的電話號碼格式,例如:“123-456-1234”。
        “2N\:2N\:2N” 表示接受時間格式,例如:“12:02:34”。
        “NNNNNNNNN” 表示接受9個數(shù)字字符。
        “9N” 同樣表示接受9個數(shù)字字符。 

        maxlength參數(shù)控制著輸入字符的總個數(shù)。

  • 21. 如何防止一個空的field?

        在大多數(shù)情況下需要知道用戶確實是輸入了一些內容在field中,不能讓這些內容為空。這個可以通過在服務端的檢測來完成,也可以通過WML來完成。
        在WML中,這個檢查可以通過合適的格式化代碼來完成,或者使用一個在input標簽中叫做emptyok="false" 的參數(shù)來實現(xiàn)(只有當必須要求用戶輸入的時候才使用)。如果使用了value="something" 或者value="" 用戶仍然可以發(fā)送空的fields。
        以下的行將接收任何值到username field, 甚至用戶將整個field清空。另外field中沒有任何東西,也能夠提交form。

            <input name="username" type="text" value="things" format="*M"/> 

        除了用戶將整個field清空,以下的行將接收任何值到username field。如果field是空的,他將不能提交form,。

            <input name="username" type="text" value="things" format="M*m"/>

        以上的應用是針對大多數(shù)的瀏覽器。在Nokia 7110 ,emptyok參數(shù)可以有同樣的效果:

            <input name="username" type="text" value="things" format="*M" emptyok="false"/>

  • 22. 使用option標簽的時候,無法一屏顯示完該怎么辦?

        許多WAP電話的顯示屏幕只能顯示三到四個選項。按以下的方法分割option字段就可以輸入更多的選項。

    <select title="longselectlist">
    <optgroup title="option1">
    <option>option1-1</option>
    <option>option1-2</option>
    <option>option1-3</option>
    </optgroup>
    <optgroup title="option2">
        <option>option2-1</option>
          <option>option2-2</option>
          <option>option2-3</option>
    </optgroup>
    <optgroup title="option3">
          <option>option3-1</option>
          <option>option3-2</option>
          <option>option3-3</option>
    </optgroup>
    </select>

  • 23. 想有一個永久的BACK在屏幕的右下方。有些好像是自動的,若沒有,該怎么做?

        可以加入以下代碼。

    <do type="prev" label="Back">
        </prev>
    </do>

        更好的是使用template。

    ……
    <template>
        <do type="prev" label="Back" name="back">
            </prev>
        </do>
    </template>
    ……

  • 24. WAP支持列表嗎?

        是的,WAP1.1支持列表和相關的標記。

  • 25. 可以在WML中使用表單嗎?

        可以。但是Nokia 7110在顯示表單的時候有些問題。

  • 26. WML支持什么樣的表單提交方式?

        WML支持GET和POST方式。但是Nokia 7110在處理GET方式的時候有些問題。

  • 27. WML中如何增加參數(shù)到URL字符串中?

        和HTML的工作方式很像,如下所示:

    ……
    www.someserver.com/someurl?parameter1=value1&parameter2=value2
    ……

        唯一的不同是將“&”變成“&”。

  • 28. 如何從WML向ASP傳送數(shù)據(jù)?

        假設有一個ASP叫做“myasp.asp”,并且有一個WML變量叫做 “wmlvar”。當發(fā)出請求“myasp.asp?wmlvar=something”,可以使用下面的方法得到變量的內容。

        dim aspvar
        aspvar = Request.QueryString("wmlvar") 

        ASP變量“aspvar”將包含字符串“something”。當然ASP變量也可以與WML變量同名。

  • 29. 如何讓WML頁面自己更新?

        有過Web經(jīng)驗的人喜歡使用:

            <meta http-equiv="refresh" content="1;http:///"> 

        來強制瀏覽器自動更新。

        雖然在WAP中也支持一些META標簽,一個更好的辦法是使用<ontimer>標簽。
        以下的代碼顯示了如何自動轉跳到另外一個卡片:nextdeck.wml。

    <?xml version="1.0"?>
    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www./DTD/wml_1.1.xml">
    <wml>
        <card id="splashscreen" ontimer="nextcard.wml">
          <timer value="40"/>
          <p>Please wait for the timer to run out...</p>
        </card>
    </wml>

        下面的代碼將強制瀏覽器在一段時間后重新裝入同一個卡片。這個頁面叫做loop.wml。

    <?xml version="1.0"?>
    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www./DTD/wml_1.1.xml">
    <wml>
        <card id="loop" ontimer="loop.wml">
          <timer value="40"/>
          <p>This text will be shown over and over again...</p>
        </card>
    </wml>

        注意必須避免瀏覽器可能要使用的cache機制。

  • 30. WML頁面的最大大小是多少?

        1397 bytes/deck

  • 31. WML頁面的限制是多少?

        由于WAP設備只有很少的內存,因此就存在著一個最大的WML deck的界限。這里沒有一個絕對的標準,根據(jù)瀏覽器的不同而不同。表10-5列出了幾種瀏覽器的限制。
        注意WML deck的大小是指編碼壓縮成二進制格式下的大小,一個沒有壓縮的WML deck可能很大,但是壓縮后可能比較小。

    表10-5 不同瀏覽器的限制

    瀏覽器

    壓縮后的WML大小限制

    UP.Browser 3.2

    1492 bytes

    UP.Browser 4.x

    2048 bytes

    Ericsson R320

    大約3000 bytes

    Ericsson R380

    大約3500 bytes

    Ericsson MC218

    多于8000 bytes

    Nokia 7110

    1397 bytes


  • 32. 如何防止對WML頁面的非法訪問?

        WAP可以防止通過HTTP協(xié)議對文件和目錄的非法操作。注意:有些WAP模擬器和虛擬的WAP瀏覽器可能不支持這個特點。在這個時候是不知道是否有可能使用其他類型的驗證方式。
        為了使用這種方式,用戶的HTTP服務器必須支持這個特點,其實大多數(shù)服務器都支持。當一個WAP瀏覽器請求一個URL,它將提醒用戶輸入用戶名和密碼。這些都轉換成無法直接閱讀的字符,但不是加密。也就是說如果網(wǎng)絡上有人在使用合適的設備監(jiān)聽,那么用戶名和密碼將被泄露。
        這個特點在Apache文檔中有詳細的說明,但是文檔的描述很弱,這里有如何在Apache HTTP服務器上配置的說明:

        要保證Apache已經(jīng)配置過,使得一個名叫.htaccess的文件可以覆蓋全局的操作配置。操作配置既可以在每個目錄使用分離的文件,也可以在全局的access.conf中。但是在這個例子中,我們將集中在.htaccess文件上。并且檢查AllowOverride的設置。這個必須設置到AuthConfig,那樣意味著Apache在目錄中尋找.htaccess文件,并且使用該文件中的規(guī)則。記住在配置后要重新啟動Apache服務器。
        下一步是在目錄里放置需要保護的文件叫做.htaccess。(注意點代表文件名的開頭)。一個.htaccess文件的基本內容如下:

    AuthType Basic
    AuthName "WAP FAQ Authentication Demo"
    AuthUserFile /home/httpd/html/wap-faq/extras/auth/auth.passwd
    require valid-user 

        AuthType設置是指定驗證的類型,AuthName指定領域,AuthUserFile指定口令文件的位置,require指定所想得到的操作。在這個例子中,任何在口令文件中的用戶都有一個正確的口令。
        現(xiàn)在需要產(chǎn)生一個口令文件,Apache使用一個叫做 .htpasswd來完成這個特殊格式文件的生成。運行程序如下:

    #htpasswd /home/httpd/html/wap-faq/extras/auth/auth.passwd demo
    New password:
    Re-type password:
    Adding password for user demo

        注意:在第一次創(chuàng)建文件的時候,必須使用“-c”選項。
        現(xiàn)在加入了一個叫做“demo”的用戶,并且輸入了他的密碼兩次??紤]到安全的原因,口令文件不應該放在文件根目錄下。筆者在這里只是做演示。
        現(xiàn)在最后就是測試,筆者建議使用HTML瀏覽器。輸入含有想保護的URL目錄的地址,一個對話框就會彈出來詢問用戶名和口令。如果一切順利,就可以使用WAP瀏覽器來測試了。
        一個目錄保護的例子在這個服務器上,用戶名是demo,口令是demo。可以使用HTML或者WML瀏覽器來做測試。
        這個例子同樣可以通過輸入http://wap./demos.html來得到。
        或者只要點到保護的區(qū)域:
            http://wap./wap-faq/extras/auth/
        或者查看.htaccess文件。
        最后點擊查看口令文件的內容。

  • 33. 怎么使用非拉丁字符?

        在文件開頭加上:
            encoding="ISO-8859-1"?
        或者:
            encoding="UTF-8"?

        ISO-8859-1和UTF-8編碼支持更多的字符。

  • 34. 一些特殊字符破壞了代碼和連接該怎么辦?

        錨/鏈接有時候包含了一些字母和數(shù)字之外的字符。典型的如:“~”(波浪號)和“&”(與號)。如果根據(jù)書編程,就應該告訴WAP瀏覽器使用的是什么字符集。這個在XML定義中可以完成:

        <?xml version="1.0" encoding="iso-8859-1"?> 

        “iso-8859-1”是Latin字符集。這個應該在大多數(shù)場合下能滿足需要。但是,還是需要對那些轉義字符進行轉義。即使指定了字符集,也是沒有用處的。
        字符實體是某些特殊字符的標準名字,例如:“&”就是“&”。
        大多數(shù)瀏覽器在反編碼名字實體的時候會出現(xiàn)問題,例如Nokia列出了7個兼容的名字實體:“quot”、“amp”、“apos”、“lt”、“gt”、“nbsp”和“shy”。只有在使用它們的十進制代碼的時候(在上述所說的Link中),瀏覽器可以顯示幾乎所有字符。如果Nokia的瀏覽器接收到無法支持的實體名,它就會崩潰。
        通過使用HTML或者WML瀏覽器(在HTML格式下,雖然不是很好),可以操作在線的實體名列表,該列表在http://wap./wap-faq/apps/charentref.html。
        這個表同樣有一個例子在:http://wap./demos.html。
        第一步,選擇將要使用的字符集,Latin1,Latin1 Mathematical和Greek symbols,最后是Latin1 Markup symbols。注意到列表被分割了,是由于deck的限制。真正的列表顯示了實體名,實體的十進制值和真正的符號。從這里就可以看到哪個字符瀏覽器可以顯示。
        注意上面的在線列表,不要設置為“charset=iso-8859-1”(真正的Latin1),那是個XML定義。

  • 35. 可能在WML頁面上顯示一個可選的Link嗎?當用戶選擇后就可以直接撥號?

        現(xiàn)在不行。但是一旦支持WTAI的設備出現(xiàn),那么就可能實現(xiàn)。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多