flash怎么获取浏览器里的url地址以及url后边的参数呢,这里有两种方法。
1,直接call js,让js处理好了,返回过来。
2,直接获取url,自己再解析。

如果仅仅是获取url后边的参数,可以不添加到url里边,动态注入到object,embed标签中,这个时候,用stage.loaderInfo.parameters就可以获取到。

这里记录下,怎么获取url后边的参数。

1,ExternalInterface.call(“eval” , “window.location.href”); 获取到网页url。(eval(“window.location.href”));
2,拆分字符串,获取到后边的参数堆。也就是几个参数比如。 name=vini&sex=boy&city=shanghai
3,用URLVariables格式化参数堆。
4,最后,获取参数,就像操作object一样。

贴出测试code:

go-> http://localhost:8080/TestEval.html?name=vini&sex=boy&city=shanghai

package
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.external.ExternalInterface;
    import flash.net.URLVariables;
    
    public class TextEval extends Sprite
    {
        private var textArea:TextArea ;
        private var paramURLVariables:URLVariables;
        public function TextEval()
        {
            addEventListener(Event.ADDED_TO_STAGE , addToStageHandler);
        }
        
        private function addToStageHandler(e:Event):void
        {
            removeEventListener(Event.ADDED_TO_STAGE , addToStageHandler);
            initialize();
        }
        
        private function initialize():void
        {
            textArea = new TextArea(450,320,0XF0F0F0);
            addChild(textArea);
            
            textArea.x = (stage.stageWidth - textArea.width)>>1;
            textArea.y = (stage.stageHeight - textArea.height)>>1;
            
            setParams();
            
            printParams();
        }
        
        private function printParams():void
        {
            if(paramURLVariables)
            {
                for(var value:String in paramURLVariables)
                {
                    var param:String = getParam(value);
                    echo(param);
                }
            }
        }
        
        private function setParams():void
        {
            var url:String;
            var params:String
            if(ExternalInterface.available)
            {
                url = ExternalInterface.call("eval" , "window.location.href");
            }
            
            if(url)
            {
                params = url.split("?")[1];
                paramURLVariables = new URLVariables(params);
            }
        }
        
        private function getParam(value:String):String
        {
            if(paramURLVariables)
            {
                return paramURLVariables[value];
            }
            return "";
        }
        
        private function echo(str:String):void
        {
            textArea.addText(str + "\n\n");
        }
    }
}