12.2.4 URLVariables类

  可以使用URLVariables处理多个变量。URLVariables类是一个辅助类,定义了处理URL字符串的常见方法。URL字符串是一种特殊的字符串,它由变量名称和变量值组成,并使用“&”连接不同的名称和值。例如,下面的URL字串定义了五个变量的取值:

va1=Twar&va2=andy_with_his_mon&va3="Kench"&va4=Leothe/nLion&va5='Uncle in WW2.'

实际上,字符串并不是严格的URL格式,因为在文本中保存这些字符串时,可以使用回车换行。字符串利用“&”符号进行分割,应注意“&”符号左右不能出现回车和空白字符。

将上面的字符串稍作修改,存储在文本文件url.txt中,并利用代码读取:

//url.txt

va1=Twar&va2=andy_with_his_mon&va3="Kench"&va4=Leothe/n

Lion&va5='Uncle in WW2.'

在存储为txt文本时,为字符串增加了换行。下面是FLV中的读取代码:

var myld:URLLoader=new URLLoader();

myld.load(new URLRequest("url.txt"));

//侦听加载完成

myld.addEventListener(Event.COMPLETEloadcomplete);

 

//加载完成侦听器函数

function loadcomplete(ea:Event):void {

         trace(myld.dataFormat);

         trace(String(myld.data));

        

         //分解加载数据

         var uv:URLVariables=new URLVariables(String(myld.data));

 

         //输出加载数据

         trace("uv.va1: "+uv.va1);

         trace("uv.va2: "+uv.va2);

         trace("uv.va3: "+uv.va3);

         trace("uv.va4: "+uv.va4);

         trace("uv.va5: "+uv.va5);

         trace("uv.whatever: "+uv.whatever);

}

这段程序中,使用URLLoader对象加载外部的url.txt,并在加载完毕后,创建URLVariables对象。URLVariables类的构造函数接受一个字符串,并会自动调用URLVariables.decode()方法分析该字符串。字符串的分析结果可以按照枚举的方式访问。这段代码的输出非常值得分析:

//文本数据的类型

text

//加载的文本数据,注意保留了回车换行

va1=Twar&va2=andy_with_his_mon&va3="Kench"&va4=Leothe/n

 

Lion&va5='Uncle in WW2.'

 

//URLVariables的分析输出

uv.va1: Twar

uv.va2: andy_with_his_mon

uv.va3: "Kench"

uv.va4: Leothe/n

 

Lion

uv.va5: 'Uncle in WW2.'

uv.whatever: undefined

可以注意到,URLVariables对象可以使用“.”运算符连接任何名称。实际上,这是URLVariables的最独特之处。在编译阶段,并不知道文本中究竟包含什么内容,但是为了令URLVariables能够访问这些变量,编译器会忽视URLVariables对象后的成员属性,而是在运行时处理。如果URLVariables后的成员确实是存在的,则输出该成员对应的字符串。如果URLVariables后面是一个无意义的成员,则FlashPlayer并不会提示错误,而是按照未定义处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值