<mx:application historymanagementenabled="false" xmlns:mx="http://www.adobe.com/2006/mxml" creationcomplete="initApp()"><mx:application historymanagementenabled="false" xmlns:mx="http://www.adobe.com/2006/mxml" creationcomplete="initApp()">
<mx:script>
<!----> import mx.events.BrowserChangeEvent;
import mx.managers.IBrowserManager;
import mx.managers.BrowserManager;
import mx.utils.URLUtil;
public var browserManager:IBrowserManager;
private function initApp():void
{
browserManager = BrowserManager.getInstance();
browserManager.addEventListener(BrowserChangeEvent.BROWSER_URL_CHANGE, parseURL);
browserManager.init("", "Shipping");
}
private var parsing:Boolean = false;
private function parseURL(event:Event):void
{
parsing = true;
var o:Object = URLUtil.stringToObject(browserManager.fragment);
if (o.view == undefined)
o.view = 0;
tn.selectedIndex = o.view;
browserManager.setTitle((tn.selectedIndex == 0) ? "Shipping" : "Receiving");
tn.validateNow();
var details:Boolean = o.details == true;
if (tn.selectedIndex == 0)
shipDetails.selected = details;
else
recvDetails.selected = details;
parsing = false;
}
private function updateURL():void
{
if (!parsing)
callLater(actuallyUpdateURL);
}
private function actuallyUpdateURL():void
{
var o:Object = {};
var t:String = "";
if (tn.selectedIndex == 1)
{
t = "Receiving";
o.view = tn.selectedIndex;
if (recvDetails.selected)
o.details = true;
}
else
{
t = "Shipping";
o.view = tn.selectedIndex;
if (shipDetails.selected)
o.details = true;
}
var s:String = URLUtil.objectToString(o);
browserManager.setFragment(s);
browserManager.setTitle(t);
}
]]>
</mx:script>
The key pieces are:
- historyManagementEnabled="false" in the Application tag
- the BrowserManager.init() call in initApp() call that initializes the BrowserManager to a default fragment. "" means "nothing after the '#'".
- the three places where change="updateURL()" will update the URL based on changes to the TabNavigator or CheckBoxes.
- the BrowserManager.addEventListener() call in initApp() that listens for changes from the Browser
- the code in parseURL() that interprets the new fragment
This example uses URLUtils to take an object of property/value pairs, creates the fragment from it, and parses the fragment back into an object of property/value pairs. The object will have properties like view=1 and details=true, and create URL fragments like "#view=1;details=true". You can choose to not use URLUtils and create your own formatting and parsing if you wish.
If you use the third-party UrlKit, you have to set up a set of "rules" that map the components to the URL and vice-versa. It makes it easier to create more readable and hierarchical fragments like "#view=Shipping;details" or "#/Shipping/details=true". There's some extra work in figuring out the rules, but then you don't need to write methods like updateURL and parseURL as that functionality is contained in the rules.
</mx:application>
</mx:application>
分享到:
相关推荐
Flex3D基于ActionScript 3,这是一种面向对象的编程语言,用于在Flash Player或Adobe AIR环境中运行。ActionScript 3提供了比其前身ActionScript 2更高的性能和更严谨的语法,使得开发3D应用变得更加高效。Flex3D库...
Flex3中文版API是针对Adobe Flex 3框架的详尽指南,它为开发者提供了全面的文档,涵盖了从基础概念到高级特性的所有内容。Flex3是一个用于构建富互联网应用程序(RIA)的开源开发平台,主要基于ActionScript 3.0语言...
Flex3 使用说明 Flex3 是一个高效、免费的开源框架,用于构建具有表现力的 Web 应用程序。Flex3 可以与 Java 后台进行通信,并与 FusionCharts 结合使用,实现数据可视化。下面是 Flex3 的详细介绍: 一、Flex ...
然而,实际提供的部分内容却是一串看似随机的数字组合,并未直接提及Flex3软件的具体信息。为了满足生成详细知识点的要求,我们将从Flex3软件的基本介绍入手,探讨其注册码的相关概念与获取途径,以及在使用此类软件...
Flex3开发指南 flex3基础教程
Flex3是Adobe公司推出的一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。这个中文PDF教程是学习Flex3技术的重要资源,涵盖了从基础概念到高级应用的...
### Flex 3 开发指南知识点概述 #### 一、Flex 3 概念与特性 - **Flex**:由Adobe Systems开发的一种开源框架,用于构建跨浏览器和跨平台的RIA(Rich Internet Applications)应用程序。 - **Flex 3**:Flex 3作为...
### Flex3与Flex4对比分析 #### 一、概述 随着技术的发展,Adobe Flex平台也在不断进化以满足日益增长的应用需求。本文旨在详细介绍Flex3与Flex4之间的主要区别,特别是Flex4相较于Flex3的新功能与改进之处。通过...
标题和描述都聚焦于对比Flex3与Flex4之间的差异,这是一种Adobe系统提供的开源框架,用于构建跨平台的桌面和移动应用程序。Flex4,其代号为Gumbo,是在Flex3的基础上进行了重大升级,旨在改进用户体验和开发效率。...
Flex3是Adobe公司开发的一款强大的富互联网应用(RIA)开发框架,主要用来构建在Web上运行的交互式、高性能的应用程序。它基于ActionScript编程语言和MXML标记语言,为开发者提供了丰富的组件库和强大的图形渲染能力...
文档名为“Flex3拞暥API..chm”,其中的“拞暥”可能是由于编码转换问题导致的错误显示,实际上应该是“API”的正确拼音表示。 Flex 3 API文档详细阐述了Flex框架的各种类、方法、属性和事件,涵盖了以下关键知识点...
Flex3是Adobe开发的一种用于构建富互联网应用(RIA)的框架,它基于ActionScript和MXML,能够创建具有丰富交互性和动态视觉效果的应用程序。在Flex3中,样式设计是提升用户界面美观度和一致性的重要手段。这个"Flex3...
Flex3学习指南是一份专为初学者设计的资源,旨在帮助他们掌握Adobe Flex 3这一强大的富互联网应用程序(RIA)开发框架。Flex 3在Web应用开发领域具有广泛的影响力,尤其在创建交互式、图形丰富的用户界面方面表现...
3. **扬声器便携性束带配置**:SoundLink Flex考虑到了携带的便利性,配备有束带,用户可以根据需要调整束带以适应不同的使用场景,无论是户外旅行还是家中使用都能轻松固定。 4. **防水防尘**:这款扬声器具备防水...
【WEB项目集成Flex3功能】是指在Web应用中整合Adobe Flex 3的技术,使得Web界面可以利用Flex的强大富客户端功能。Flex是一种用于构建RIA(Rich Internet Applications)的开放源码框架,它允许开发者创建交互性更强...
Adobe Flex 3 Component Explore 是一个专门针对Flex 3框架的学习和参考工具,它为开发者提供了一个直观的平台来探索和理解Flex组件的使用和功能。Flex 3是Adobe开发的一个开源框架,主要用于构建富互联网应用程序...
Flex3是中国Adobe技术社区翻译的一本关于Adobe Flex 3开发的权威指南的源代码,这本书为开发者提供了深入理解和掌握Flex 3开发的详尽资源。Flex是Adobe开发的一个开源框架,用于构建富互联网应用程序(RIA),它允许...