9.4 URL库及其函数(2) - 编程吧

上一篇 | 下一篇

9.4 URL库及其函数(2)

发布: 2007-7-20 13:51 | 作者: 佚名 | 来源: 转载 | 查看: 37次


4.8  getFragment函数
用于获取和返回给定URL地址中的fragment部分。如果其中没有fragment部分,则函数返回空字符串。getFragment函数也支持相对和绝对的URL地址,并且操作时相对的URL也不进行绝对URL的转换。getFragment函数的语法格式如下:

URL.getFragment(url)

它的参数url应取字符串形式的URL地址,函数返回值为字符串形式的fragment部分。如果给定的URL地址无效,则getFragment函数返回无效值invalid。

使用getFragment函数获取fragment部分的例子如下:

 

var a = URL.getFragment("http://www.waphome.com/cont#frag");                        // a = "frag"

var b = URL.getFragment("../script;3;2?x=1&y=3");                                                        // b = ""

var c = URL.getFragment("http://www.mywap.com:8080/script#func( )");           // c = "func( )"

 

9.4.9  getBase函数
getBase函数用于获取和返回当前WMLScript文件的不含fragment部分的绝对URL地址。它没有参数,返回值为字符串形式的绝对URL地址。其语法格式为:

URL.getBase( )

例如,当前测试的WMLScript文件位于服务器www.host.com的test目录中,则使用如下的getBase函数测试时,可返回结果a = "http://www.host.com/test":

var a = URL.getBase( );                  // 结果为a = "http://www.host.com/test"

9.4.10  getReferer函数
getReferer函数用于获取和返回调用当前WMLScript文件的最小的相对URL地址。如果文件调用时没有指定URL地址,那么该函数返回空字符串。其语法格式为:

URL.getReferer( )

它没有参数,返回值为字符串形式的相对URL地址。

例如,调用的当前WMLScript文件位于服务器www.host.com的test目录中,文件名为app.wml,则使用getReferer函数测试时则可返回结果referer = "app.wml":

var referer = URL.getReferer();                // 结果为referer = "app.wml"

9.4.11  resolve函数
resolve函数根据给定的baseUrl和embeddedUrl两个URL地址的参数值,组合生成一个绝对URL地址,并返回该地址。如果参数embeddedUrl的值已经是一个绝对的URL地址,则函数直接把embeddedUrl的值作为结果返回。resolve函数的语法格式如下:

URL.resolve(baseUrl, embeddedUrl)

它的两个参数baseUrl和embeddedUrl都是字符串形式的URL地址,返回值结果也为字符串形式的URL地址。如果参数不合法,则函数返回无效值invalid。

下面就是应用resolve函数合成一个有效的绝对URL地址的例子:

var a = URL.resolve("http://foo.com/","foo.vcf");              // 结果为a = "http://foo.com/foo.vcf"

9.4.12  escapeString函数
escapeString函数的功能是把给定字符串string里面的特殊字符进行转义序列的重新编码处理。这种字符即WML和WMLScript中所指的转义字符,包括ASCII码中的控制字符和空格,以及一些保留字作用的特殊符号:“;”、“/”、“?”、“:”、“@”、“&”、“=”、“+”、“$”、“,”、“{”、“}”、“|”、“”、“^”、“[”、“]”、“'”、“<”、“>”、“#”、“%”、“"”等。

escapeString函数的语法格式为:

URL.escapeString(string)

它仅对所给URL地址中的转义字符进行转换,而不进行URL地址的解析和定位。如果URL地址中包含了无法进行转换的无效字符,则函数返回无效值invalid。

例如,使用escapeString函数进行下述转换处理时,我们可以得到a = "http%3a%2f%2fw.h.com%2fdck%3fx%3d%7f%23crd"的转换结果:

 

var a = URL.escapeString("http://w.h.com/dck?x=u007f#crd");

                                               // 结果为a = "http%3a%2f%2fw.h.com%2fdck%3fx%3d%7f%23crd"

 

9.4.13  unescapeString函数
与escapeString函数的作用相反,unescapeString函数可以将给定的转义字符串string进行还原。而且是只做字符的转换处理,不对URL地址进行其他任何解析处理。unescapeString函数的语法格式为:

URL.unescapeString(string)

转义字符还原后,unescapeString函数返回的结果是字符串形式的URL地址。如果转义字符串string中包含了不合法的转义字符,该函数返回无效值invalid。

例如,下面我们给出了已经转义的字符串a,利用unescapeString函数对它进行还原后,可以得到原来的URL地址:

 

var a = "http%3a%2f%2fw.h.com%2fdck%3fx%3d12%23crd";

var b = URL.unescapeString(a);                                 // 结果为b = "http://w.h.com/dck?x=12#crd"

 

9.4.14  loadString函数
该函数用于获取和返回一个由给定参数url与contentType所代表的内容形式,其语法格式为:

URL.loadString(url, contentType)

其中参数url是给定的字符串形式的绝对URL地址,参数contentType是给定的字符串形式的拟采用的内容类型。

特别地,给定的contenttype必须遵循下述规则,否则会导致错误。

(1) 只能指定一个cnotenttype。即整个字符串只允许有一个内容类型(contenttype),并且不能有多余的前缀和后缀。

(2) 类型必须是text,但是子类型可以是其他的类型。因此,类型的前缀必须是"text/"。

loadString函数的运行行为是这样的:首先

此新闻共有2页 1 2

字号: | 推荐给好友

 

评分:0

我来说两句

seccode