Flex动态获取应用部署的项目名称和地址栏的URL
来源:互联网 发布:波音757 知乎 编辑:程序博客网 时间:2024/06/05 22:48
有时候在开发flex项目的过程中,服务端的contextPath还不能完全确定,所以在flex中如果要进行与服务端进行交互的时候不能不把访问URL的项目名称写死。解决这个问题可以在application中利用js的方法获取contextpath,然后赋值给as类的一个静态变量中,之后flex中访问服务端的url引用这个变量即可。下面是一些flex中利用js方法获取URL和URL中一些属性的实例
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.controls.Alert; import mx.utils.URLUtil; private function init():void{ // 测试url为http://127.0.0.1:8080/TestWeb/resources/test/flex/LocationTest.html?loginType=1 // 1 获取URL中带的参数 // 得到params的值为loginType=1 如果把参数1去掉则结果为?loginType=1 参数1表示从字符串下标为1索引开始截字符串 var params:String = ExternalInterface.call("window.location.search.substring", 1);// 这里还可以加一个参数表示截取长度 // 得到paramObj {loginType:'1'} var paramObj:Object = URLUtil.stringToObject(params,"&",true); var loginType:String = paramObj.loginType;//获取loginType的值 Alert.show(loginType);//结果为1 //获取完整url var href:String = ExternalInterface.call("window.location.href.substring"); Alert.show(href);//结果为http://127.0.0.1:8080/TestWeb/resources/test/flex/LocationTest.html?loginType=1 // 获取协议 var protocol:String = ExternalInterface.call("window.location.protocol.substring"); Alert.show(protocol); // 结果为http: // 获取主机 var host:String = ExternalInterface.call("window.location.host.substring"); Alert.show(host); // 结果为127.0.0.1:8080 // 获取端口 var port:String = ExternalInterface.call("window.location.port.substring"); Alert.show(port); // 结果为8080 // 获取webroot 应用的contextPath var pathname:String = ExternalInterface.call("window.location.pathname.substring",1);//pathname值为TestWeb/resources/test/flex/LocationTest.html?loginType=1 var webRoot:String = pathname.split("/")[0]; Alert.show(webRoot);//结果为TestWeb /** * URLUtil.stringToObject方法介绍(具体可查看源码) * * 从字符串返回对象.字符串包含 name=value 对,它们成为返回对象的动态属性. * 这些属性对由指定的 separator 分隔.该方法可转换数字 * 布尔值 数组(由"[]"定义)以及子类(由"{}"定义). * 默认情况下,%XX 格式的 URL 模式将转换为相应的字符串字符. 例如: var s:String = "name=xxxx;age=20"; var o:Object = URLUtil.stringToObject(s, ";", true); 返回对象:{ name: "xxxx", age: 20 }. 参数 string:String — 要转换为对象的字符串. separator:String (default = "") — 分隔字符串中的 name=value 对的字符. decodeURL:Boolean — 是否对字符串中 URL 编码的字符进行解码. 返回 Object — 包含从传递给该方法的字符串中提取的属性和值的对象 * **/ } ]]> </mx:Script></mx:Application>
0 0
- Flex动态获取应用部署的项目名称和地址栏的URL
- C#获取当前IE地址栏的url
- VB获取IE8地址栏的URL
- 获取页面Url地址栏后面的参数
- 获取项目部署名称的两种方式
- JSP动态获取部署的应用名
- js动态获取地址栏后的参数
- js实现url的复制和jsp 获取地址栏的地址
- eclipse中项目名称修改后部署到tomcat中应用名称仍然是旧的
- eclipse中项目名称修改后部署到tomcat中应用名称仍然是旧的
- eclipse中项目名称修改后部署到tomcat中应用名称仍然是旧的
- eclipse中项目名称修改后部署到tomcat中应用名称仍然是旧的
- 获取地址栏的IP和端口,将URL地址图片转换为二进制
- 如何用js获取地址栏的URL的域名
- 修改web应用的部署应用名称
- asp.net 获取当前地址栏中完整的url
- 详解php获取url地址栏及各种参数的方法
- Javascript 获取地址栏里(URL)传递的参数
- 如何用SQL语句批量替换数据库字符串
- ch13.JSP标准标签库
- JS中Array数组的三大属性用法
- 键盘的关闭打开通知
- 《iOS开发指南:从零基础到App Store上架(第2版 )(3).pdf》
- Flex动态获取应用部署的项目名称和地址栏的URL
- 『ANDROID』使用AnimationDrawable简单的多图片切换
- 《23种设计模式》
- 大整数类BIGN的设计与实现 C++高精度模板
- 遍历目录下的文件和子目录下的文件
- C#基础知识之一
- Android NDK入门
- django拾遗之signal
- 嵌入式调试过程卡死机记录