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 | |