about meWedia Ajax
关于Flex获取浏览器URL及其参数的方法 ... Bing ... Flex ... 0 /1765 ... 1 year 4 months ago
最近有些烦躁,因而Blog写的很少了。也许这段烦躁的时期是必不可少的吧,总感觉自己需要些成长了。又开始庸人自扰了,进入正题。

前些日子做项目的时候,出现了这样一个问题,Flex里面需要根据浏览器的URL获得其参数,找了好久居然都没有发现ActionScript3.0里有获得浏览器URL的值的函数,郁闷之余,也只能想到ActionScript和Javascript的通信了,基本思路是使用Javascript获得浏览器URL,然后得出参数值,然后使用ActionScript调用该Javascript函数,获得值。首先假设浏览器URL如下:http://www.bingblog.net/a.aspx?id=99 ,目的是获得id的值。以下是Javascript代码:
function GetQueryStringValue(queryStr)
{
    var url = window.top.location.toString();
    var index = url.indexOf("?");

    if(index == -1) return null;
    else
    {
         var queryString = url.substr(index+1);
         var arr = queryString.split("&");
         for(var i=0; i < arr.length; i++)
         {
               var arr1 = arr[i].split("=");
               if(arr1[0].toLocaleLowerCase() == queryStr)
               {
                    return arr1[1];
               }
	 }
          return null;
    }
}
Flex端代码:
function GetQueryStringValue(queryStr:String):uint
{
     return uint(flash.external.ExternalInterface.call("GetPatientID", ["id"]));
}
注意:上述Javascript代码只能在Flex里生成的html文件里面写入,并且只能在该默认的文件配置(即Flex生成的文件)下才能被调用。

OK,果然是烦躁了,写Blog都写的有点不耐烦了。今天睡觉去,明天再好好工作。另外,今天是六一儿童节,是儿童的,“节日快乐”!
Name*
Email
Website
BoldItalicUnderlineJustify LeftJustify CenterJustify RightIndentOutdentBulled ListNumbered ListInsert LineCreate LinkUnlinkInsert Face
Submit