首页 > 网站 > WEB开发 > 正文

20.6.BrowserManager解析URL

2024-04-27 13:52:28
字体:
来源:转载
供稿:网友
20.6.1 问题
我想从浏览器的当前URL 中读取并解析数据。
20.6.2 解决办法
使用BrowserManager 和URLUtil 类读取并解析当前页面的URL。
20.6.3 讨论
下面的例子展示了如何通过使用BrowserManager 和URLUtil 类读取并解析当前页URL,同时将解析结果写入一个mx:TextArea 实例中。

URLUtil 类拥有可以帮助你解析当前URL 内不同片断的方法。在Flex 3中使用深度链接的时候,URL 会段为两个部分:基部(base)和片段(fragment)。URL 基部(base)包含了#号左边的所有内容。片段(fragment)则包含了#号右边所有的内容。片段(fragment)用以传递参数给Flex 应用程序或者用于历史管理器。适当创建的片段(fragment) 可以由URLUtil.stringToObject 方法将其包含的所有参数值解析到ActionScript 对象中去,再打散成字符串值。URL 片段(fragment)的每个键-值对都应该用分号(;)分隔开。
+展开
-XML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxmllayout="absolute"
creationComplete="parseURL()">

<mx:Script>
<![CDATA[
import mx.utils.ObjectUtil;
import mx.managers.IBrowserManager;
import mx.managers.BrowserManager;
import mx.utils.URLUtil;
private function parseURL() : void
{
//get an instance of the browser manager
var bm:IBrowserManager = BrowserManager.getInstance();
//initialize the browser manager
bm.init();
//output the url parameter values
output.text += "Full URL:/n" + bm.url + "/n/n";
output.text += "Base URL:/n" + bm.base + "/n/n";
output.text += "URL Fragment:/n"+bm.fragment+ "/n/n";
//convert url parameters to an actionscript object using URLUtil
var o:Object = URLUtil.stringToObject(bm.fragment);
output.text+="Object:/n"+ObjectUtil.toString(o)+ "/n/n";
output.text += "name:/n" + o.name + "/n/n";
output.text += "index:/n" + o.index + "/n/n";
output.text += "productId:/n" + o.productId + "/n/n";
//parse URL using URLUtil
output.text += "URL Port:/n" +
URLUtil.getPort( bm.url ) + "/n/n";
output.text += "URL Protocol:/n" +
URLUtil.getProtocol( bm.url ) + "/n /n";
output.text += "URL Server:/n" +
URLUtil.getServerName( bm.url ) + "/n/n";
output.text += "URL Server with Port:/n" +
URLUtil.getServerNameWithPort( bm.url );
}

]]>
</mx:Script>
<mx:TextArea id="outputleft="10top="10bottom="10right="10"/>
</mx:Application>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表