Flex获得URL参数有两种情况:一 获得swf后面的参数;二 获得swf所在页面的url参数。
1 获得swf后面的参数
Application Module等编译后生成一个swf文件,外面可以在swf后面添加一些参数来实现某些功能,例如debug=true,动态调整flex的日志级别。
如果是Application或Module等,可以直接用this.loaderInfo.parameters.var1;
如果是其它的就需要获得该DisplayObject 对象的root对象来获得参数,例如:root.loaderInfo.parameters.var1;
2 获得swf所在页面的url参数
在flash builder中调试的时候,html页面后面的参数自动的添加了debug=true,flex是如何获得该参数的呢?答案是JavaScript。
在Flex应用程序中,ExternalInterface主要用来让ActionScript直接与Flash Player容器进行通信。ExernalInterface类通常作为ActionScript与JavaScript进行通信的桥梁。在JS中,Window对象用来代表一个Web浏览器窗口,而窗口的Location对象则代表了当前显示的URL,于是,要想获取URL中的参数,
通常使用下面的语句:
window.location.href.toString //得到URL的完整文本
window.location.search.substring //得到问号后面部分的URL文本
通常的参数对以test.html?debug=true这样的形式给出,在获取到问号后面的URL文本后,还需要对其分解,这时有两种途径,一种是分解过程在JS中完成,然后将最终的结果值传递给Flex,另一种是将分解的过程放在Flex中去完成。下面是as代码的实现,好处是不用写js代码了。
var queryParamStr:String = ExternalInterface.call("window.location.search.substring",1);
queryParamStr包含所有的url参数,下面是解析url参数的方法
/**
* 获得一个url中的参数
* @param urlStr
* @return 如果没有参数则返回null 有参数则返回key value形式的对象
*
*/
public static function getUrlParam(urlStr:String):Object{
var pattern:RegExp= /.*\?/;
urlStr=urlStr.replace(pattern, "");
if(urlStr.indexOf("=")==-1)
{ return null;
}
// 通过&拆分成数组name=value,保存为String类型数据
var params:Array=urlStr.split("&");
if(params==null||params.length==0){
return null;
}
var paramObj:Object={};
for(var i:int=0;i<params.length;i++){
var keyValue:Array=params[i].split("=");
paramObj[keyValue[0]]=keyValue[1];
}
return paramObj;
}
如果参数中中文需要解析,请参考url参数编码和解码。
分享到:
相关推荐
在这个例子中,它被用来调用JavaScript的 `window.location.search.substring` 方法来获取URL的查询字符串,从而得到URL参数。 4. **获取URL参数**:`getPramas()` 函数是实现这个功能的核心。首先,它通过 `...
当需要获取URL参数时,Flex应用会借助JavaScript来获取浏览器中的URL参数,然后再通过ExternalInterface将这些参数传递给ActionScript。 ExternalInterface类是ActionScript与Flash Player的宿主环境(如HTML页面)...
在本文中,我们将深入探讨如何在Flex中获取这些URL参数值。 首先,我们要明白,当我们使用Flex Builder开发应用程序时,编译后的SWF文件会被一个HTML容器包裹,因此在实际运行时,我们实际上是在运行这个HTML文件。...
在`onModuleComplete`函数中,我们获取了加载模块的`DisplayObject`实例,然后通过`loaderInfo`属性访问到`parameters`对象,从而得到传递的参数。 在FlexTest项目中,你可以找到一个实际的应用示例,展示了如何...
记得安装 ArcGIS API for Flex 插件,以获得更好的开发支持。 7. **学习路径** 对于初学者,建议先熟悉 Flex 基础知识,包括 MXML 和 ActionScript 语言,然后逐步学习 ArcGIS Flex API 及其组件库。通过阅读 ...
MessageBrokerServlet 是真正处理 Flex 远程调用请求的 Servlet,我们需要将其映射到指定的 URL: 清单 5. 定义 Flex servlet <servlet> <servlet-name>messageBroker</servlet-name> <servlet-class>...
通过 RemoteObject 进行调用虽然简单,但存在不少问题:首先,RemoteObject 是一个 Dynamic Class,Flex Builder 的编译器无法替我们检查参数类型和参数个数,这样,在编写 ActionScript 代码时极易出错。...
总的来说,使用Flex3的HTTPService获取JSON数据涉及创建服务实例,配置请求参数,监听结果事件,以及可能的手动JSON解析。虽然Flex3的时代已过,但理解其工作原理对学习现代Web开发技术仍然有帮助,比如在理解现代...
在调用微博接口之前,确保你已经注册成为新浪开发者,并获得了应用的API密钥(App Key)、应用密钥(App Secret)以及OAuth认证所需的回调URL。这些信息将用于身份验证和授权过程,使得你的Flex应用能够合法地代表...
通过URL映射机制将来自Flex客户端的请求转发至相应的Message Broker进行处理。 **使用Spring管理的目的地从Flex客户端:** 可以利用Spring管理的目的地(Destination)来简化Flex客户端与后端服务之间的交互过程。...
- **性能优化**:根据实际情况调整 BlazeDS 的配置参数,以获得最佳性能。 - **错误处理**:完善异常处理机制,提高系统的健壮性。 通过以上的步骤,你可以成功地利用 Flex 和 BlazeDS 实现与 MySQL 数据库的交互。...
在处理HTTP请求时,可以使用Flex的`mx.rpc.http.HTTPService`组件,设置其URL为切片服务地址,将计算得到的Z、X、Y参数添加到URL中。成功获取到切片数据后,可将其转换为Bitmap对象,然后使用`BitmapData.draw()`...
此函数用于在Flex应用中打开一个URL链接。参数`_blank`表示在新窗口或标签页中打开该链接。 **示例代码**: ```actionscript var url: String = "http://ntt.cc"; navigateToURL(new URLRequest(url), '_blank'); `...
3. 设置 `MapView` 组件的相关属性,例如地图服务的 URL、初始显示范围等。 4. 使用 ActionScript 代码来控制地图的显示,如缩放、平移等操作。 **1.2.3 事件(Event)** 地图组件提供了多种事件,例如地图加载完成...
3. **打开新浏览器窗口**:使用`navigateToURL(new URLRequest('http://ntt.cc'), '_blank')`可以打开一个新的浏览器窗口,其中`_blank`参数表示在新的标签页或窗口中打开URL。 4. **刷新浏览器**:若需刷新当前...
- **知识点说明**:`navigateToURL()` 方法可以用来打开一个新的 URL,参数 `_blank` 表示在新的浏览器窗口或标签页中打开该 URL。 - **应用场景**:当用户点击某个链接时,希望在新窗口中打开,而不是在当前页面...
- 第一个参数是 `URLRequest` 对象,指定了要导航到的具体URL地址。 - 第二个参数表示目标窗口或框架,`'_blank'` 表示在一个新的浏览器窗口中打开链接。 ### 4. 刷新当前页面 ```as3 navigateToURL(new ...
下载完成后,将解压得到的`amfphp`文件夹复制到Apache服务器的网站根目录。确保服务器正确配置,然后访问`http://localhost/amfphp/gateway.php`,如果显示“amfphp and this gateway are installed correctly”,则...
`ClassBreaksRenderer`的`attribute`属性现在被称为`field`,`MapImage`的`href`属性改为`source`,`WebMapUtil`的`arcgisSharingURL`属性现在是`portalURL`,而`FeatureSet`的`fromJSON()`和`toJSON()`方法返回的...
- 请求参数:支持设置请求头、查询参数、请求体等。 - JSON序列化与反序列化:自动处理数据的JSON格式转换,方便与API交互。 - 并发调用:通过异步操作或线程池实现多个API调用的并发,提高性能。 五、示例应用 1. ...