zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0

          第六章 WML Script標準函數庫(下)

          [日期:2004-11-23] 來源:賽迪網? 作者: [字體:]
          6.5 URL函數庫

          名稱:URL
          說明:這個函數庫包含了處理絕對的URL與相對URL的程序,一般的URL語法如下:://:/;?#

          isValid

          程序:isValid(url)
          說明:如果給予的url值是正確的URL語法,則回傳ture,否則回傳false
          絕對與相關URL都能支持
          相關URL不會被轉成絕對URL
          參數:url=字符串
          回傳值:布爾值或invalid
          例外狀況:無
          范例:var a=URL.isValid
          ("http://www.acme.com/script#func()"); //a=ture
          var b=URL.isValid("../common#test()"); //b=ture
          var c=URL.isValid
          ("experimental?://www.acme.com/pub"); //c=false

          getScheme

          程序:getScheme(url)
          說明:回傳給予url的調用方式scheme
          絕對與相關URL都能支持
          相關URL不會被轉成絕對URL
          參數:url=字符串
          回傳值:字符串或invalid
          例外狀況:如果遇到不正確的URL語法,則回傳invalid
          范例:var a=URL.geScheme("http://w.a.com"); //a="http"
          var b=URL.getSceme("w.a.com"); //b=""

          getHost

          程序:getHost(url)
          說明:回傳給予url的主機
          絕對與相關URL都能支持
          相關URL不會被轉成絕對URL
          參數:url=字符串
          回傳值:字符串或invalid
          例外狀況:如果遇到不正確的URL語法,則回傳invalid
          范例:var a=URL.geHost("http://www.acom.com/pub"); //a="www.acm.com"
          var b=URL.getHost("path#fray"); //b=""

          getPort

          程序:getPort(url)
          說明:回傳給予url的端口(port)
          如果port沒有制定,則回傳空字符串
          絕對與相關URL都能支持
          相關URL不會被轉成絕對URL
          參數:url=字符串
          回傳值:字符串或invalid
          例外狀況:如果遇到不正確的URL語法,則回傳invalid
          范例:var a=URL.getPort("http://www.acom.80/path"); //a="80"
          var b=URL.getPort("http://www.acom./path"); //b=""

          getPath

          程序:getPath(url)
          說明:回傳給予url的路徑(path)

          參數:url=字符串
          回傳值:字符串或invalid
          例外狀況:如果遇到不正確的URL語法,則回傳invalid
          范例:var a=URL.getPath("http://w.a.com/home/sub/comp#frag"); //a="/home/sub/comp"
          var b=URL.getPath("../home/sub/comp#frag"); //b="../home/sub/comp"

          getParameters

          程序:getParameters(url)
          說明:回傳給予url的路徑(parameter)
          如果沒有指定參數,則回傳空字符串
          絕對與相關URL都能支持
          相關URL不會被轉成絕對URL
          參數:url=字符串
          回傳值:字符串或invalid
          例外狀況:如果遇到不正確的URL語法,則回傳invalid
          范例:var a=URL.getParameters("http://w.a.c/scr;3;2?x=1&y=3"); //a="3;2"
          var b=URL.getParameters("../scr3;2?x=1&y=3"); //b="../home/sub/comp"

          getQuery

          程序:getQuery(url)
          說明:回傳給予url的詢問部分(query)
          如果沒有指定的詢問部分,則回傳空字符串
          絕對與相關URL都能支持
          相關URL不會被轉成絕對URL
          參數:url=字符串
          回傳值:字符串或invalid
          例外狀況:如果遇到不正確的URL語法,則回傳invalid
          范例:var a=URL.getParameters("http://w.a.c/scr;3;2?x=1&y=3"); //a="3;2"

          getFragment

          程序:getFragment(url)
          說明:回傳給予url的片斷(fragment)
          如果沒有指定片斷,則回傳空字符串
          絕對與相關URL都能支持
          相關URL不會被轉成絕對URL
          參數:url=字符串
          回傳值:字符串或invalid
          例外狀況:如果遇到不正確的URL語法,則回傳invalid
          范例:var a=URL.getFragment("http://www.acom.com/cont#fray"); //a="fray"

          getBase

          程序:getBase()
          說明:回傳次WML Script程序的絕對URL(沒有fragment的部分)。
          參數:無
          回傳值:字符串
          例外狀況:無
          范例:var a=URL.getBase(); //Result;
          "http://www.acme.com/test.scr"

          getReferer

          程序:getReferer()
          說明:回傳調用目前程序資源的最小相關URL(與目前程序的基本URL的相關)
          內部程序調用并不會改變參照者
          如果目前的程序并沒有參照者,則回傳空字符串
          參數:無
          回傳值:字符串
          例外狀況:無
          范例:var base=URL.getBase(); //base
          ="http://www.acme.com/current.scr"
          var prferer=URL.getReferer(); //referer="app.wml"

          resolve

          程序:resolve(baseUrl,embeddedUrl)
          說明:根據RFC2396的文件,由給予的基本base與插入embeddedUrl回傳絕對URL
          參數:baseUrl=字符串
          embeddedUrl=字符串
          回傳值:字符串或invalid
          例外狀況:如果遇到不正確的URL語法,則回傳invalid
          范例:var a=URL.resolve(http://www.foo.com/,"foo.vcf"); //a="http://www.foo.com/foo.vcf"

          escapeString

          程序:escapeString(string)
          說明:這個程序會將所給與string字符串之中的特殊字符使用十六進制逃脫序列來替代(你必須使用量為逃脫序列格式%xx),這些逃脫字符如下:
          控制字符(control characters):US-ASCII編碼的字符00-1F與7F
          空格(Space):US-ASCII碼編字符20十六進制
          保留字(Reserved):";"|"/"|"?"|":"|"@"|"="|"+"|"$"|","
          Unwise:"{"|"}"|"|"|"\"|""|"["|"]"|"`"
          Delimes:"<"|">"|"#"|"%"|"<>"
          給予的字符串如果已經是使用逃脫自負,則不會執行URL解析
          參數:string=字符串
          回傳值:字符串或invalid
          例外狀況:如果字符串string含有非US-ASCII的字符,則回傳invalid
          范例:var a=URL.escapeString
          ("http://w.a.c/dck?x=u007ef#crd");
          // a="http%3a2f%2fw.a.c%2fdck%3fx%3def%23crd"

          unescapeString

          程序:unescapeString(string)
          說明:這個程序會將所給與string字符串之中每個可能是由URL.escapeString() 程序所產生的逃脫序列使用它所代表的字符加以替代。
          參數:string=字符串
          回傳值:字符串或invalid
          例外狀況:如果字符串string含有非US-ASCII的字符,則回傳invalid
          范例:var a="http%3a2f%2fw.a.c%2fdck%3fx%3def%23crd";
          var b=URL.unescapeString(a); //b
          ="http://w.a.c/dck?x=12#crd"

          loadString

          程序:loadString(url,contentType)
          說明:回傳有所給予的絕對URL與contenttype所指出的內容。
          如果內容格是不是下列法則所規范的話,則是錯誤的:
          你只能界定一種內容格式,整個字符串必須和一種內容格式相符,而 且你不能有額外的前或后空格。
          格式必須是正文,但次格式沒有限制,格式的開頭一定是"text/"。
          這個程序的動作如下:
          文件的內容會載入使用給予的contentType與url,其他所需的數形式有使用用戶界面的預設面。
          如果載入成功而且回傳的內為格式與所給予的contentType相符,則內文會被轉換成字符串再回傳。
          如果載入成功或回傳的內文格式不正確的話,則會回傳特定的錯誤碼。
          參數:url=字符串
          contentYype=字符串
          回傳值:字符串、整數或invalid
          例外狀況:如果載入失敗其回傳的錯誤碼和所使用的URL Scheme有關
          如果使用HTTP或WSP架構,會回傳HTTP錯誤碼。
          如果給予的contentType錯誤的話,則會回傳invalid
          范例:var a="http%3a2f%2fw.a.c%2fdck%3fx%3def%23crd";
          var b=URL.unescapeString(a); //b
          ="http://w.a.c/dck?x=12#crd"

          loadString

          程序:loadString(url,contentType)
          說明:回傳有所給予的絕對URL與contenttype所指出的內容。
          如果內容格是不是下列法則所規范的話,則是錯誤的:
          你只能界定一種內容格式,整個字符串必須和一種內容格式相符,而 且你不能有額外的前或后空格。
          格式必須是正文,但次格式沒有限制,格式的開頭一定是"text/"。
          這個程序的動作如下:
          文件的內容會載入使用給予的contentType與url,其他內文所需的數形式有使用用戶界面的預設面。
          如果載入成功而且回傳的內容為格式與所給予的contentType相符,則內文會被轉換成字符串再回傳。
          如果載入成功或回傳的內文格式不正確的話,則會回傳特定的錯誤碼。
          參數:url=字符串
          contentYype=字符串
          回傳值:字符串、整數或invalid
          例外狀況:如果載入失敗其回傳的錯誤碼和所使用的URL Scheme有關
          如果使用HTTP或WSP架構,會回傳HTTP錯誤碼。
          如果給予的contentType錯誤的話,則會回傳invalid
          范例:var myUrl="http://www.acme.com/vcards/myaddr.vcf";
          myCard=URL.loadString(myUrl,"text/x-vcard");

          6.6 WML瀏覽器函數庫

          名稱:WML Brower
          說明:這個函數庫所包含的程序是讓WML Script用來存取與WML相關的內文,這些程序不能有任何的副作用,并在下列的狀況下回傳invalid值。
          系統不支持WML瀏覽器。
          WML瀏覽器無法使用WML Script解譯器。

          getVar

          程序:getVar(name)
          說明:回傳目前瀏覽器內文的所給予名稱name的變量值。
          如果所指定的變量不存在,回傳一個空字符串。
          變量名稱必須依照WML語法來使用。
          參數:name=字符串
          回傳值:字符串或invalid
          例外狀況:如果變量名稱不合語法,則回傳invalid
          范例:var a=WMLBrowser.getVar("name");
          // a"Jon"或者變量的值

          setVar

          程序:setVar(name,value)
          說明:在目前的瀏覽器之中,如果所給予名稱name的變量,它的值同給予的值value設定的一樣的話,回傳ture,否則回傳false。
          變量名稱必須依照WML語法來使用。
          變量值必須是合法的XML CD ATA
          參數:name=字符串
          value=字符串
          回傳值:布爾值或invalid
          例外狀況:如果變量名稱或它的值不合語法,則回傳invalid
          范例:var a=WMLBrowser.setVar("name",Mary); // a=true

          go

          程序:go(url)
          說明:將給予的url所標記的內文載入,這個程序予WML的GO動作意思相同。
          如果所給予的url字空字符串(""),則不會載入任何內文。
          go()與prev()函數庫程序會互相推翻,在回傳控制與WML瀏覽之前都可以加以調用多次。
          只有最后的調用設定的會保持作用,如果最后的調用為go()或prev(),其所設定的url為空字符串(""),所有的要求都會被取消。
          這個程序回傳空字符串。
          參數:url=字符串
          回傳值:字符串或invalid
          例外狀況:無
          范例:varcard="http://www.acme.com/loc/app.dck#start";WMLBrowser.go(card
          )

          prev

          程序:prev()
          說明:告訴WML瀏覽器回到先前的WML Card,這個程序的功能與WML中的prev動作一樣。
          go()與prev()函數庫程序會互相推翻,在回傳控制與WML 瀏覽之前都可以加以調用多次。
          只有最后的調用設定是會保持作用,如果最后的調用為go()或prew(),其所設定的url為空字符串(""),所有的要求都會被取消。
          這個程序回傳空字符串。
          參數:無
          回傳值:字符串或invalid
          例外狀況:無
          范例:WMLBrowser.prev();

          newContext

          程序:newContext()
          說明:將目前WML瀏覽器的內文清除并回傳一個空字符串,這個程序的公用與WML的NEWCONTEXT屬性一樣。
          參數:無
          回傳值:字符串或invalid
          例外狀況:無
          范例:WMLBrowser.newContext();

          getCurrentCard

          程序:getCurrentCard()
          說明:回傳目前WML瀏覽器所處理card的最小相關URL,如果WML deck所包含目前程序的基本地址不同的話,則此程序會回傳絕對URL。
          參數:無
          回傳值:字符串或invalid
          例外狀況:如果沒有目前的card,則回傳invalid。
          范例:var a=WMLBrowser.getCurrentCard();// a="deck#input"

          refresh

          程序:refresh()
          說明:強制WML瀏覽器更新它的內文并回傳一個空字符串,而用戶界面會加以更新以反應更新后的內容,這個程序與WML中的refresh功能一樣。
          參數:無
          回傳值:字符串或invalid
          例外狀況:無
          范例:WMLBrowser.setVar("name","Zorro");
          WMLBrowser.refresh();

          6.7 Dialog函數庫

          名稱:對話
          說明:這個函數庫包含典型的用戶界面程序。

          prompt

          程序:prompt(message,defaultInput)
          說明:顯示給予的信息message與用戶輸入的提示符號,defaultInput參數包含了用戶輸入所需的初始內文,回傳用戶輸入。
          參數:message=字符串
          defaultInput=字符串
          回傳值:字符串或invalid
          例外狀況:無
          范例:var a="09-555 3456"; var b=Dialogs.prompt("Phome number";a);

          confirm

          程序:confirm(message,ok,cancel)
          說明:顯示所給予的信息message與兩個選項:ok與cancel,等待用戶選取其中一個,如果是ok則回傳false。
          參數:message=字符串
          ok=字符串
          cancel=字符串
          回傳值:布爾值invalid
          例外狀況:無
          范例:function onAbort(){return Dialogs.confirm("Are you sure?"),"Yes","No";};

          alert

          程序:alert(message)
          說明:顯示所給予的信息message給用戶,等待用戶確定并回傳一個空字符串。
          參數:message=字符串
          回傳值:字符串或invalid
          例外狀況:無
          范例:function testValue(textElement){
          if (String.length(textElement)>8) {
          Dialogs.alert("Enter name <8 chars!");
          };
          };

          6.8 函數庫總結

          函數庫

          函數庫名稱:

          Lang

          Float

          String

          URL

          WML Browser

          Dialogs

          ?

          函數庫與他們的程序:

          Lang函數庫

          Abs

          Min

          Max

          ParseInt

          ParseFloat

          IsInt

          IsFloat

          MaxInt

          MinInt

          Float

          Exit

          Abort

          Random

          Seed

          CharacterSet

          ?

          Float 函數庫

          Int

          Ploor

          Ceil

          Pow

          Round

          Sqrt

          MaxFloat

          MinFloat

          ?

          String 函數庫

          Length

          IsEmpty

          CharAt

          SubString

          Pind

          Replace

          Elements

          ElementAt

          RemoveAt

          ReplaceAt

          InsertAt

          Squeeze

          Frim

          Compqre

          ToString

          format

          ?

          URL 函數庫

          IsValid

          GetScheme

          GetHost

          GetPort

          GetPath

          GetParameters

          GetQuer

          GetFragment

          GetBase

          GetReferer

          Resolve

          EscapeString

          UnescapeString

          loadString

          ?

          WML Browse函數庫

          Get Var

          SetVar

          Go

          Prev

          NewContext

          GetCurrentCard

          Refresh

          ?

          Dialogs? 函數庫

          Prompt

          Confirm

          Alert




          |----------------------------------------------------------------------------------------|
                                     版權聲明  版權所有 @zhyiwww
                      引用請注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2006-07-05 15:47 zhyiwww 閱讀(410) 評論(0)  編輯  收藏 所屬分類: wml
          主站蜘蛛池模板: 德庆县| 来安县| 渭南市| 舒城县| 龙南县| 蓬莱市| 两当县| 诸暨市| 栾城县| 凌源市| 遂宁市| 甘洛县| 霸州市| 山阴县| 锡林郭勒盟| 衡阳市| 从化市| 内黄县| 沂水县| 车险| 东莞市| 大方县| 平凉市| 普兰县| 阳东县| 曲阜市| 东源县| 延庆县| 习水县| 肇东市| 易门县| 沭阳县| 五华县| 侯马市| 义马市| 裕民县| 宿松县| 临高县| 富平县| 三原县| 金阳县|