`
xiaoer_1982
  • 浏览: 1817491 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

BrowserManager的高级应用

阅读更多

深层链接(Deep-Link),相信大家不会陌生,主要是使用JS结合框架技术,从而让嵌入swf页面可以利用浏览器的前进后退按钮导航。如果我们是用Flex Bulder来发布页面,默认下会该页面会具有深层链接功能。细心的读者会发现在页面所在的目录下有一个history目录,有关深层链接的JS、框架、css文件都在里面。那么怎样使用BrowserManager实现深层链接呢?

一、使用BrowserManager实现数据的深层链接

该功能可以将数据在从浏览器URL与Flex控件相互传递, 当然我们还利用浏览器的前进后退导航按钮查看历史数据。

我们可以使用BrowserManager类的BrowserChangeEvents事件来将数据读写到地址栏链接。不管是何时通过在地址栏输入文本还是使用进后退导航按钮来改变浏览器URL,都将通过BrowserManager实例调度BrowserChangeEvent.BROWSER_URL_CHANGE事件,该事件会调用Flex控件内部的updateValues方法来更改值。

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

上述实例展示了怎样从浏览器的URL读取数据,并将该数据值显示在Flex文本输入框中。具体说来,当应用加载时,将从当前URL读取数据并将firstName和lastName参数值写入到firstName和lastName文本输入框中。另一方面,当firstName和lastName文本输入框的值改变时,将调用BrowserManager的setFragment方法来更改浏览器URL的firstName和lastName参数值。

二、使用BrowserManager实现容器的深层链接

使用BrowserManager类的BrowserChangeEvents事件来控制Flex可视组件的可见性和跟踪其历史记录。

下面我们使用URL片段来控制跟踪Flex应用中的哪些组件和容器是可见的。当应用加载时,将初始化BrowserManager实例来解析处理浏览器的URL,updateContainers方法(如下代码)决定TabNavigator实例的哪一个tab是可见的。另一方面,只要TabNavigator实例的选项卡的可见性一改变,将通过下面的代码改变URL片段的selectedIndex参数:

bm.setFragment( "selectedIndex=" + tabNav.selectedIndex );

这一句将更改浏览器URL并将改变添加到浏览器的历史记录。如果用户想复制粘贴当前的浏览器URL,他将会直接链接到当前所选的选项卡。

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

你也许注意到了historyManagementEnabled属性设置成了false,这是因为这是因为 HistoryManager 通常与应用程序处理 URL 片段的方法冲突。我们使用BrowserManager事件来侦听浏览器URL是否改变,并相应更改tab内容。可视选项卡的每一次改变最终将改变浏览器的历史记录,用户可以使用前进后退按钮导航支上一个或下一个可见的选项卡。

本文转自:http://www.riafan.com/article.asp?id=142

分享到:
评论

相关推荐

    flex3的cookbook书籍完整版dpf(包含目录)

    DataGrid和高级DataGrid(179) 6.1节. 创建DataGrid自定义列 6.2节. 为DataGrid列设定排序函数 6.3节. 启动DataGrid多列排序 6.4节. 过滤DataGrid数据项 6.5节. 为AdvancedDataGrid创建自定义表头 6.6节. 处理...

    基于matlab实现的空间调制通信过程,包含信号调制、天线选择等发送过程,以及采用最大似然估计的检测过程 .rar

    基于matlab实现的空间调制通信过程,包含信号调制、天线选择等发送过程,以及采用最大似然估计的检测过程。.rar

    基于matlab的关于生猪养殖场经营管理的研究.docx

    本文档是课题研究的研究报告内含调研以及源码设计以及结果分析

    网络作为特征提取器-python源码.zip

    网络作为特征提取器-python源码.zip

    JavaScript-javaweb项目

    JavaScript-javaweb项目

    node-v12.11.0-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    仿Slideby触屏版html5响应式手机wap网站模板下载.zip

    触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板

    node-v10.18.1-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    IEC 60695-11-3:2012.pdf

    IEC 60695-11-3:2012.pdf

    2021-2010上市公司和讯网社会责任评级CSR-股东员工客户消费者环境社会责任分项评级

    上市公司和讯网社会责任评级CSR-股东责任员工责任客户消费者环境社会责任分项评级 得分(2010-2021年) "中国上市公司-和讯网社会责任数据"是 一份来自和讯网的数据集,它同步并收集了中国上市公司关于社会责任的相关信息。包括了 公司在股东责任、员工责任、供应商客户消费者权益责任、环境责任、社会责任中的表现和 成绩,以反映公司承担社会责任的程度。可以帮助大家了解公司在承担社会责任方面的具体 表现。这对于研究公司社会责任与公司业绩、公司声誉、公司风险等方面的关系具有参考意 义。 一、数据介绍 数据名称:上市公司和讯网社会责任评级CSR-股东责任员工责任 客户消费者环境社会责任分项评级得分 数据年份:2010-2021年 样本数量:每 年含2300-4600左右上市公司数据,总数据量40058条(注:因披露口径原因 ,2021年仅有430+上市公司数据) 数据格式:Excel面板数据 二、指标说 明 共计11个指标:股票名称、股票代码、年份、总得分、等级、股东责任、员工责任、 供应商客户和消费者权益责任、环境责任、社会责任、统计日期 三、部分excel数据 展示

    使用opencv进行人脸识别和对比-python源码.zip

    使用opencv进行人脸识别和对比-python源码.zip

    EmotionVGGnet情绪识别-python源码.zip

    EmotionVGGnet情绪识别-python源码.zip

    node-v12.1.0-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    MediaPipe人体姿势估计-python源码.zip

    MediaPipe人体姿势估计-python源码.zip

    构造并使用决策树进行分类-python源码.zip

    构造并使用决策树进行分类-python源码.zip

    <2024年5月软考高项极限冲刺>《1 考试简介》

    <2024年5月软考高项极限冲刺>《1 考试简介》

    【特效超多】仿德国开元旅游触屏版html5手机wap旅游网站模板下载.zip

    【特效超多】仿德国开元旅游触屏版html5手机wap旅游网站模板下载.zip

    JSP基于WEB网上论坛设计与实现(源代码+论文+开题报告+答辩PPT+外文翻译).zip

    JSP基于WEB网上论坛设计与实现(源代码+论文+开题报告+答辩PPT+外文翻译)

    仿YOKA服饰美容3G手机wap女性网站模板.zip

    触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板

    node-v12.0.0-linux-ppc64le.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics