加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex获取参数(一)――window.location.search.substring

发布时间:2020-12-15 04:31:17 所属栏目:百科 来源:网络整理
导读:Flex获取参数(一)—— window.location.search.substring 第1步:在网页中设置一个链接,如 a href="test.asp?p1=test1p2=test2"测试链接一/a,其中test.asp嵌入了flash 第2步:获取参数,生成flash的mxml文件源码如下: 1、获取所有参数 ?xml version="1.

Flex获取参数(一)——window.location.search.substring

第1步:在网页中设置一个链接,如 <a href="test.asp?p1=test1&p2=test2">测试链接一</a>,其中test.asp嵌入了flash

第2步:获取参数,生成flash的mxml文件源码如下:
1、获取所有参数
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
????? xmlns:s="library://ns.adobe.com/flex/spark"
????? xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init(event)">
?<fx:Declarations>
??<!-- 将非可视元素(例如服务、值对象)放在此处 -->
?</fx:Declarations>
?<fx:Script>??
??<![CDATA[
???//import mx.controls.Alert;
???import mx.events.FlexEvent;
???
???private var params:Object;
???
???private function init(event:FlexEvent):void {
????btnID.addEventListener(MouseEvent.CLICK,clickHandler);
???}
???
???private function clickHandler(evt:Event):void {
????var args:Object = getParams();?
????for(var name:String in args){
?????dispID.text += "name:" + name + "n" + "address:" + args[name] + "n";
????}

???}
???
???private function getParams():Object {
????params = {};?
????var query:String = ExternalInterface.call("window.location.search.substring",1);
????//Alert.show(ExternalInterface.call("window.location.href.toString",1));?
????//Alert.show(query);
????if(query) {
?????var pairs:Array = query.split("&");
?????for(var i:uint=0; i < pairs.length; i++) {
??????var pos:int = pairs[i].indexOf("=");
??????//Alert.show(String(pos));
??????if(pos != -1) {
???????var argname:String = pairs[i].substring(0,pos);
???????var argvalue:String = pairs[i].substring(pos+1);?
???????
???????params[argname] = argvalue;?
??????}
?????}
????}
????return params;
???}
??]]>??
?</fx:Script>??
?<s:Button id="btnID" y="218" label="GetParams" horizontalCenter="0"/>??
?<s:TextArea id="dispID" y="47" width="200" horizontalCenter="0"/>??
</s:Application>?

2、获取指定参数
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
????? xmlns:s="library://ns.adobe.com/flex/spark"
????? xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init(event)">
?<fx:Declarations>
??<!-- 将非可视元素(例如服务、值对象)放在此处 -->
?</fx:Declarations>
?<fx:Script>??
??<![CDATA[
???import mx.controls.Alert;
???import mx.events.FlexEvent;
???
???private var params:Object;
???
???private function init(event:FlexEvent):void {
????btnID.addEventListener(MouseEvent.CLICK,clickHandler);
???}
???
???private function clickHandler(evt:Event):void {
????var args:Object = getParams();?
????var param1:String=params["test1"];
????Alert.show(param1);
???}
???
???private function getParams():Object {
????params = {};
????var query:String = ExternalInterface.call("window.location.search.substring",1));
????//Alert.show(query);
????if(query) {
?????var pairs:Array = query.split("&");
?????for(var i:uint=0; i < pairs.length; i++) {
??????var pos:int = pairs[i].indexOf("=");
??????//Alert.show(String(pos));
??????if(pos != -1) {
???????var argname:String = pairs[i].substring(0,pos);
???????var argvalue:String = pairs[i].substring(pos+1);
???????
???????params[argname] = argvalue;
??????}
?????}
????}
????return params;
???}
??]]>??
?</fx:Script>??
?<s:Button id="btnID" y="218" label="get test1" horizontalCenter="0"/>??
</s:Application>?

注:如果window.location.search.substring换成window.location.href.toString 则可获取完整的url

参考:

http://www.voidcn.com/article/p-axuyique-dt.html

http://www.cnblogs.com/cos2004/archive/2011/03/30/1999925.html(//或者用for in来遍历

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读