Flex4 读取URL参数
发布时间:2020-12-15 03:43:09 所属栏目:百科 来源:网络整理
导读:第一种方法 传值方式 http://host:port/index.jsp#UserID=111 //获取传递参数var browser:IBrowserManager=BrowserManager.getInstance();browser.init();var param:Object=URLUtil.stringToObject(browser.fragment,""); 我用这种方式在3.2下读不到,但4.0
第一种方法 传值方式 http://host:port/index.jsp#UserID=111 //获取传递参数 var browser:IBrowserManager=BrowserManager.getInstance(); browser.init(); var param:Object=URLUtil.stringToObject(browser.fragment,"&"); 我用这种方式在3.2下读不到,但4.0的SDK下是没有问题的 第二种方法 http://host:port/index.jsp?UserID=111 为了保持一致性(我们项目中),我做了兼容,也支持 http://host:port/index.jsp?UserID=111 import flash.external.ExternalInterface; import mx.utils.StringUtil; public class QueryString { public function QueryString() { readQueryString(); } private var _queryString:String; private var _all:String; private var _params:Object; public function get queryString():String { return _queryString; } public function get url():String { return _all; } public function get parameters():Object { return _params; } private function readQueryString():void { _params = {}; try { _all = ExternalInterface.call("window.location.href.toString"); var urlParams:String = ExternalInterface.call("window.location.search.substring",1); if(urlParams == null || StringUtil.trim(urlParams).length == 0 || "DEBUG=TRUE" == urlParams.toUpperCase()) { var startIndex:int = _all.indexOf("#"); if(startIndex > -1) urlParams = _all.substring(++startIndex); } _queryString = FounderUtils.base64Decode(urlParams);///*FounderUtils.base64Decode(*/ExternalInterface.call("window.location.search.substring",1)/*)*/; if(_queryString) { var params:Array = _queryString.split('&'); var length:uint = params.length; for (var i:uint=0,index:int=-1; i<length; i++) { var kvPair:String = params[i]; if((index = kvPair.indexOf("=")) > 0) { var key:String = kvPair.substring(0,index); var value:String = kvPair.substring(index+1); _params[key] = value; } } } }catch(e:Error) { trace("Some error occured. ExternalInterface doesn't work in Standalone player."); } } } flex Base64编码中如果有汉字,要用? encodeUTFBytes ,使用UTF-8的编码,由其和其它语言交换数据时。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 深入分析Cocos2d-x 2.0中的“纹理”
- c# – NHibernate – NHibernate.Exceptions.GenericADOExc
- C/C++:使用automake自动为间接包含添加-I选项
- ruby-on-rails – 安装sqlite3时发生导轨应用程序到Heroku错
- cocos2d-x v3.3之环境搭建(windows)
- postgresql – Postgres远程访问
- ruby-on-rails – ActiveRecord has_and_belongs_to_many:
- flex – Red5是否已准备就绪?
- c# – 避免在域模型中使用JsonIgnore属性
- 30天学习Swift项目实战第四天------滑动菜单(UIScrollView