分享
 
 
 

WAP建站 WML Script脚本程序设计(二)

王朝other·作者佚名  2006-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

WMLBrowse函数库

Get Var

SetVar

Go

Prev

NewContext

GetCurrentCard

Refresh

Dialogs函数库

Prompt

Confirm

Alert

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有