加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex利用浏览器的后退前进按钮返回前后页面(BrowserManager)

发布时间:2020-12-15 01:39:09 所属栏目:百科 来源:网络整理
导读:?xml version="1.0"? !-- states/StatesBrowserManager.mxml -- s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" ????? xmlns:mx="library://ns.adobe.com/flex/halo" ????? xmlns:s="library://ns.adobe.com/flex/spark" ????? creationComplete="

<?xml version="1.0"?>
<!-- states/StatesBrowserManager.mxml -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" ????? xmlns:mx="library://ns.adobe.com/flex/halo" ????? xmlns:s="library://ns.adobe.com/flex/spark" ????? creationComplete="initApp();"> ?<fx:Script> ??<![CDATA[ ???import mx.managers.BrowserManager; ???import mx.managers.IBrowserManager; ???import mx.events.BrowserChangeEvent; ???import mx.utils.URLUtil; ???// The search string value. ???[Bindable] ???public var searchString:String; ???// 一个 BrowserManager 类的实例. ???private var browserManager:IBrowserManager; ???//在应用创建完成时初始化 BrowserManager. ???public function initApp():void { ????browserManager = BrowserManager.getInstance(); ????browserManager.addEventListener(BrowserChangeEvent.BROWSER_URL_CHANGE,parseURL); ????browserManager.init("","Browser Manager for View States"); ????updateURL('default'); ???} ???// 当用户按前进后退按钮时触发事件,事件处理器从URL里接到状态的值,从而。用他 ???//设定当前状态。 ???private var stateFromURL:String; ???private function parseURL(e:Event):void { ????var o:Object = URLUtil.stringToObject(browserManager.fragment); ????stateFromURL = o.state; ????currentState=stateFromURL; ???} ???// 状态改变时改变地址。 ???private function updateURL(myCurrentState:String):void { ????var s:String = "state=" + myCurrentState; ????browserManager.setFragment(s); ???} ???// 当按下go按钮时执行该方法。 ???// 它会改变状态以及调用updateURL()方法来改变URL。 ???public function doSearch():void { ????currentState = "results"; ????updateURL('results'); ????searchString = searchInput.text; ???} ???// 点击reset按钮时执行该方法,该方法是状态改到默认值,。并且改变URL ???public function reset():void { ????currentState = ''; ????searchInput.text = ""; ????searchString = ""; ????updateURL('default'); ???} ??]]> ?</fx:Script> ?<s:states> ??<!-- The state for displaying the search results --> ??<s:State name="default"/> ??<s:State name="results"/> ?</s:states> ?<s:Panel id="panel1" ??? title="搜索" title.results="Results" ??? resizeEffect="Resize" ??? width="10%" height="10%" ??? width.results="100%" height.results="100%" width.default="600" height.default="400"> ??<s:layout> ???<s:VerticalLayout/> ??</s:layout> ??<s:SkinnableContainer id="searchFields" defaultButton="{b}"> ???<s:layout> ????<s:HorizontalLayout/> ???</s:layout> ???<s:TextInput id="searchInput" width.default="359"/> ???<s:Button includeIn="results" ?????? label="重置" ?????? click="reset();"/> ??</s:SkinnableContainer> ??<s:Button id="b" ????? label="查询" ????? click="doSearch();"/> ?</s:Panel> </s:Application>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读