Flex 实现 历史管理 和 深度链接

历史管理:

默认支持历史管理的组件有AccordionTabNavigatorTabBar 以及ViewStack派生的组件

只需设置historyManagementEnabled 属性为true 即可

 

深度链接:

<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="absolute"
    creationComplete="onCreationComplete()" >

    <mx:Script>
        <![CDATA[
            import mx.events.BrowserChangeEvent;
            import mx.managers.IBrowserManager;
            import mx.managers.BrowserManager;
            import mx.utils.URLUtil;

            private var bm:IBrowserManager

            private function onCreationComplete():void
            {
                // 取得browser manager单例
                bm = BrowserManager.getInstance();

                // 初始化BrowserManager
                bm.init();

                // 根据url参数初始化值
                updateValues();

                // 注册浏览器更改URL事件侦听器
                bm.addEventListener( BrowserChangeEvent.BROWSER_URL_CHANGE, onURLChange );
            }

            private function updateValues():void
            {
                // 根据url片段更改文本输入框的值
                var o:Object = URLUtil.stringToObject(bm.fragment);
                firstName.text = o.firstName;
                lastName.text = o.lastName;
            }

            private function updateURL():void
            {
                // 更改浏览器中“#”后面的URL片段。
                bm.setFragment( "firstName=" + firstName.text + ";lastName=" + lastName.text );
            }

            private function onURLChange( event : BrowserChangeEvent ):void
            {
                //当浏览器更改URL时调度
                updateValues();
            }
        ]]>
    </mx:Script>

    <mx:TextInput x="10" y="10" id="firstName" change="updateURL()" />
    <mx:TextInput x="10" y="40" id="lastName" change="updateURL()" />

</mx:Application>
 

你可能感兴趣的:(浏览器,Flex,Adobe)