文章詳情頁(yè)
WMLScript的語(yǔ)法基礎(chǔ)
瀏覽:324日期:2022-06-03 17:40:57
WMLScript是屬于無(wú)線應(yīng)用協(xié)議WAP應(yīng)用層的一部分,使用它可以向WML卡片組和卡片中添加客戶端的處理邏輯,目前最新的版本是1.1版。WMLScript 1.1是在歐洲計(jì)算機(jī)制造商協(xié)會(huì)制定的ECMAScript腳本語(yǔ)言的基礎(chǔ)上,經(jīng)過(guò)修改和優(yōu)化而制定的。它能夠更好地支持諸如移動(dòng)電話類的窄帶寬通信設(shè)備,在WML編程中使用WMLScript可以有效地增強(qiáng)客戶端應(yīng)用的靈活性,而且,我們也以把WMLScript作為一個(gè)單獨(dú)的工具使用,開(kāi)發(fā)出功能強(qiáng)大的WAP網(wǎng)絡(luò)應(yīng)用和無(wú)線網(wǎng)頁(yè)。本章我們將詳細(xì)講解WMLScript 1.1編程的基礎(chǔ)語(yǔ)法知識(shí),如基本規(guī)則、變量與數(shù)據(jù)類型、操作符與表達(dá)式等。為了敘述上的簡(jiǎn)便,以后我們將“WMLScript 1.1”簡(jiǎn)稱為“WMLScript”。
7.1 簡(jiǎn)單例子:WML程序中調(diào)用WMLScript函數(shù)
經(jīng)過(guò)前兩章的學(xué)習(xí),熟悉C語(yǔ)言的讀者可能會(huì)認(rèn)識(shí)到,WML的函數(shù)功能、邏輯運(yùn)算功能等都是十分有限的。而WMLScript提供了豐富的函數(shù)功能,我們?cè)赪AP應(yīng)用開(kāi)發(fā)中可以使用WMLScript來(lái)增強(qiáng)WML編程,調(diào)用WMLScript語(yǔ)句和函數(shù)的命令可以直接寫(xiě)在WML
7.3 WMLScript基本規(guī)則
WMLScript在許多基本規(guī)則方面沿用了WML的做法。不過(guò),由于WMLScript是以C語(yǔ)言為藍(lán)本而制定的,所以它的語(yǔ)法特征和C語(yǔ)言非常相像。如果大家對(duì)C語(yǔ)言比較熟悉,那么學(xué)習(xí)和掌握這部分內(nèi)容應(yīng)當(dāng)是比較容易的。
7.3.1 WMLScript與URL
與WML一樣,WMLScript也沿用了WWW和HTML訪問(wèn)資源的URL、HTTP等規(guī)范,并擴(kuò)大了URL使用的范圍。在WMLScript中,不僅超鏈接、文件路徑及文件名可以作為URL處理,外部函數(shù)、訪問(wèn)控制信息等也可作為URL處理。
為此,WMLScript采用了WML的變通方法,即改進(jìn)HTML命名資源位置的方式,采用程序段錨點(diǎn)(Fragment Anchor)的形式來(lái)處理資源定位。程序段錨點(diǎn)根據(jù)文檔URL規(guī)則進(jìn)行定義,并按照程序段標(biāo)識(shí)符前加井字號(hào)(#)的方式書(shū)寫(xiě)。使用程序段錨點(diǎn),WMLScript程序可以在WMLScript編譯單位內(nèi)定位任一指定的函數(shù),并可在調(diào)用該函數(shù)的同時(shí)傳遞所需的參數(shù)。
例如,WAP手機(jī)用戶通過(guò)瀏覽器調(diào)用外部WMLScript函數(shù)時(shí),可先寫(xiě)出該函數(shù)所在的URL地址,如http://www.acme.com/myScripts.scr;然后,將函數(shù)名及參數(shù)作為程序段錨點(diǎn)處理,比如testFunc("Test%20argument", -8),這樣最后含有程序段錨點(diǎn)的URL地址書(shū)寫(xiě)格式為:http://www.acme.com/myScripts.scr#testFunc("Test%20argument", -8)。注意其中加上了井字號(hào)(#)。
瀏覽器接到這樣一個(gè)調(diào)用后,將首先執(zhí)行訪問(wèn)控制檢查。如果調(diào)用者沒(méi)有訪問(wèn)權(quán)限,則終止該函數(shù)的調(diào)用。否則,繼續(xù)執(zhí)行調(diào)用操作,將錨點(diǎn)中的函數(shù)名與編譯程序中的外部函數(shù)進(jìn)行匹配,如果不合適,則終止執(zhí)行;否則,就進(jìn)一步對(duì)函數(shù)參數(shù)的格式、個(gè)數(shù)、類型、參數(shù)值屬性等進(jìn)行判斷,如果符合要求,則函數(shù)調(diào)用成功,否則拒絕函數(shù)調(diào)用。
7.1 簡(jiǎn)單例子:WML程序中調(diào)用WMLScript函數(shù)
經(jīng)過(guò)前兩章的學(xué)習(xí),熟悉C語(yǔ)言的讀者可能會(huì)認(rèn)識(shí)到,WML的函數(shù)功能、邏輯運(yùn)算功能等都是十分有限的。而WMLScript提供了豐富的函數(shù)功能,我們?cè)赪AP應(yīng)用開(kāi)發(fā)中可以使用WMLScript來(lái)增強(qiáng)WML編程,調(diào)用WMLScript語(yǔ)句和函數(shù)的命令可以直接寫(xiě)在WML
7.3 WMLScript基本規(guī)則
WMLScript在許多基本規(guī)則方面沿用了WML的做法。不過(guò),由于WMLScript是以C語(yǔ)言為藍(lán)本而制定的,所以它的語(yǔ)法特征和C語(yǔ)言非常相像。如果大家對(duì)C語(yǔ)言比較熟悉,那么學(xué)習(xí)和掌握這部分內(nèi)容應(yīng)當(dāng)是比較容易的。
7.3.1 WMLScript與URL
與WML一樣,WMLScript也沿用了WWW和HTML訪問(wèn)資源的URL、HTTP等規(guī)范,并擴(kuò)大了URL使用的范圍。在WMLScript中,不僅超鏈接、文件路徑及文件名可以作為URL處理,外部函數(shù)、訪問(wèn)控制信息等也可作為URL處理。
為此,WMLScript采用了WML的變通方法,即改進(jìn)HTML命名資源位置的方式,采用程序段錨點(diǎn)(Fragment Anchor)的形式來(lái)處理資源定位。程序段錨點(diǎn)根據(jù)文檔URL規(guī)則進(jìn)行定義,并按照程序段標(biāo)識(shí)符前加井字號(hào)(#)的方式書(shū)寫(xiě)。使用程序段錨點(diǎn),WMLScript程序可以在WMLScript編譯單位內(nèi)定位任一指定的函數(shù),并可在調(diào)用該函數(shù)的同時(shí)傳遞所需的參數(shù)。
例如,WAP手機(jī)用戶通過(guò)瀏覽器調(diào)用外部WMLScript函數(shù)時(shí),可先寫(xiě)出該函數(shù)所在的URL地址,如http://www.acme.com/myScripts.scr;然后,將函數(shù)名及參數(shù)作為程序段錨點(diǎn)處理,比如testFunc("Test%20argument", -8),這樣最后含有程序段錨點(diǎn)的URL地址書(shū)寫(xiě)格式為:http://www.acme.com/myScripts.scr#testFunc("Test%20argument", -8)。注意其中加上了井字號(hào)(#)。
瀏覽器接到這樣一個(gè)調(diào)用后,將首先執(zhí)行訪問(wèn)控制檢查。如果調(diào)用者沒(méi)有訪問(wèn)權(quán)限,則終止該函數(shù)的調(diào)用。否則,繼續(xù)執(zhí)行調(diào)用操作,將錨點(diǎn)中的函數(shù)名與編譯程序中的外部函數(shù)進(jìn)行匹配,如果不合適,則終止執(zhí)行;否則,就進(jìn)一步對(duì)函數(shù)參數(shù)的格式、個(gè)數(shù)、類型、參數(shù)值屬性等進(jìn)行判斷,如果符合要求,則函數(shù)調(diào)用成功,否則拒絕函數(shù)調(diào)用。
標(biāo)簽:
XML/RSS
相關(guān)文章:
1. 告別AJAX實(shí)現(xiàn)無(wú)刷新提交表單2. 詳解盒子端CSS動(dòng)畫(huà)性能提升3. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera4. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁(yè)5. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法6. HTML <!DOCTYPE> 標(biāo)簽7. CSS 使用Sprites技術(shù)實(shí)現(xiàn)圓角效果8. HTML DOM setInterval和clearInterval方法案例詳解9. XML入門精解之結(jié)構(gòu)與語(yǔ)法10. 詳解CSS偽元素的妙用單標(biāo)簽之美
排行榜
