禁止Accordion和TabNavigator自动更新URL

2024-01-25 04:32

本文主要是介绍禁止Accordion和TabNavigator自动更新URL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说到深层链接(Deep linking),少不了要讲一讲Flex 2中的HistoryManager。利用HistoryManager,用户可以使用Web 浏览器的后退和前进导航按钮在Flex 应用程序中导航,与Flex 3中的BrowserManager功能相似。

通常情况下,应使用BrowserManager类和深层链接来维护Flex 应用中的状态并处理URL和浏览器历史记录。但有些导航器容器(如Accordion和TabNavigator )默认情况下启用历史记录管理功能,因此这种情况下会比使用BrowserManager简单。但对于其他组件和容器,我们需要自定义历史记录管理,相对复杂,因此更多时候不使用HistoryManager类。

我们可通过将上述导航器容器的historyManagementEnabled 属性设置为false来禁用历史记录管理。要向HistoryManager 类注册一个组件,需要调用HistoryManager 类的 register()方法,还必须实现 IHistoryManagerClient 接口的saveState()loadState()方法。

点击查看实例效果,点击下载该实例源码。

创建自定义列表框后,我们必须向HistoryManager类注册其实例。一般是在creationComplete事件处理函数中注册,如下面的代码:

creationComplete="mx.managers.HistoryManager.register(this);"

IHistoryManagerClient接口要求在列表框中实现saveState和loadState方法。当该列表框的选项一更改,将调用listChanged方法,该方法会调用HistoryManager的save方法来保存用户当前选择的哪一选项。保存完成后会调用saveState方法,而该方法将返回一个对象来保存浏览器记录。在本例中,saveState方法返回属性为selectedIndex的对象,该属性值等于自定义列表框的选项索引。

当使用后退和前进导航按钮更改浏览器历史记录时,将调用loadState方法。该方法从State参数对象中读取 selectedIndex属性值并更改列表框的selectedIndex属性。

从本例也可以看出,使用HistoryManager和BrowserManager进行深层链接时,浏览器URL片段是不同的。前者会自动添加app参数,app参数值及其它参数名的前缀(状态ID)都是16进制压缩的字符串。注意HistoryManager是用&来分隔URL片段中的名称=值对。

 

引用地址:http://www.riafan.com/article.asp?id=143

这篇关于禁止Accordion和TabNavigator自动更新URL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/642088

相关文章

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

禁止复制的网页怎么复制

禁止复制的网页怎么复制 文章目录 禁止复制的网页怎么复制前言准备工作操作步骤一、在浏览器菜单中找到“开发者工具”二、点击“检查元素(inspect element)”按钮三、在网页中选取需要的片段,锁定对应的元素四、复制被选中的元素五、粘贴到记事本,以`.html`为后缀命名六、打开`xxx.html`,优雅地复制 前言 在浏览网页的时候,有的网页内容无法复制。比如「360

Anaconda 中遇到CondaHTTPError: HTTP 404 NOT FOUND for url的问题及解决办法

最近在跑一个开源项目遇到了以下问题,查了很多资料都大(抄)同(来)小(抄)异(去)的,解决不了根本问题,费了很大的劲终于得以解决,记录如下: 1、问题及过程: (myenv) D:\Workspace\python\XXXXX>conda install python=3.6.13 Solving environment: done.....Proceed ([y]/n)? yDownloa

禁止 CTRL+ALT+DEL

在win98 里可以用   Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long)

使用http-request 属性替代action绑定上传URL

在 Element UI 的 <el-upload> 组件中,如果你需要为上传的 HTTP 请求添加自定义的请求头(例如,为了通过身份验证或满足服务器端的特定要求),你不能直接在 <el-upload> 组件的属性中设置这些请求头。但是,你可以通过 http-request 属性来自定义上传的行为,包括设置请求头。 http-request 属性允许你完全控制上传的行为,包括如何构建请求、发送请

url参数中带有号,需要用先把url做个解析,使其方便在网络上传递

需求:提交异步通知地址给宝付的投标接口,发现投标成功后,异步通知地址没有被调用 排查:通过和宝付技术对接,发现是203,地址重定向错误。深入排查,发现异步通知返回的地址中&号之后的参数宝付没有收到 结论:表单提交的参数中的异步通知地址中的&号没有做urlencode()处理导致传递丢失参数。 地址参数中带有&号,java在做提交的时候,不能正确传递&,导致地址中&之后的内容丢失。故此需要ur

URL, URI 和 URN 之间的区别

英文原文:What's the difference between a URI and a URL?     URI 标识一个事物 , URL 定位一个事物;然而,位置同样可以标识一个事物,所以,每个 URL 都是一个 URI,但一个 URI 并不一定是一个 URL。   举例说明 罗杰·佩特   这是我的名字,这是一个标识。它就像一个 URI,但它不是一个 URL,因为,它不

Flask 创建app 时候传入的 static_folder 和 static_url_path参数理解

Flask 在创建app的时候 是用 app = Flask(__name__) 来创建的,不传入 static_folder参数的话 ,默认的静态文件的位置是在 static目录下 我们可以进入 Flask的源码里面查看 ctrl+鼠标左键进入 这是Flask的 __init__源码(后面还有一些,我就选了需要的代码)     def __init__(self,import_

jsapi 支付缺少appid ¬ify_url

$.ajax({url: 'url',type: 'get',dataType: "json",//改成jsonsuccess: function (data) {//$('#xx').val(data)WeixinJSBridge.invoke('getBrandWCPayRequest', $.parseJSON(data),function(res){if(res.err_msg == "