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 |
|----------------------------------------------------------------------------------------|
|----------------------------------------------------------------------------------------|
posted on 2006-07-05 15:47
zhyiwww 阅读(403)
评论(0) 编辑 收藏 所属分类:
wml