mx.managers
public class HistoryManager
继承HistoryManager Inheritance Object

借助历史记录管理,用户可以使用 Web 浏览器的“后退”和“前进”导航命令在 Flex 应用程序中导航。

通常情况下,应使用 BrowserManager 类和深层链接来维护应用程序中的状态并处理 URL 和浏览器历史记录,但 HistoryManager 类在某些情况下会很有用,如维护旧版 Flex 应用程序时。无法在同一个 Flex 应用程序中同时使用 HistoryManager 类和 BrowserManager 类,即使二者使用同一组支持文件也不例外。

默认情况下,对 Accordion 和 TabNavigator 容器启用历史记录管理功能。这意味着,如果用户选择了 Accordion 控件中的某个窗格,则可以使用浏览器的“后退”按钮或后退导航命令返回到前一个窗格。默认情况下,对 ViewStack 导航器容器禁用历史记录管理功能。

可通过将导航器容器的 historyManagementEnabled 属性设置为 false 来禁用历史记录管理。

还可以向 HistoryManager 注册应用程序中的其它对象,从而对这些对象启用历史记录管理功能。要向 HistoryManager 类注册一个组件,需要调用 HistoryManager 类的 register() 方法,同时引用实现 IHistoryManagerClient 接口的组件实例。在以下示例中,在初始化 Application 组件 (this) 时将向 HistoryManager 类注册此组件:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
    implements="mx.managers.IHistoryManagerClient" 
    initialize="mx.managers.HistoryManager.register(this);">
还必须实现 IHistoryManagerClient 接口的 saveState()loadState() 方法才能完成组件的注册。扩展 UIComponent 的组件会自动继承 loadState() 方法。

HistoryManager 中的所有方法和属性都是静态的,因此不需要为其创建实例。

另请参见

mx.managers.BrowserManager
mx.managers.IHistoryManagerClient
Using the HistoryManager


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
公共方法
 方法定义方
 Inherited
指示对象是否已经定义了指定的属性。
Object
  
[静态] DEPRECATED — 初始化 HistoryManager。
HistoryManager
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
  
[静态] 向 HistoryManager 注册对象。
HistoryManager
  
[静态] 保存应用程序的当前状态,以便以后还原。
HistoryManager
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
  
[静态] 撤销向 HistoryManager 注册对象。
HistoryManager
 Inherited
返回指定对象的原始值。
Object
方法详细信息
initialize()方法
public static function initialize(sm:ISystemManager):void

DEPRECATED — 初始化 HistoryManager。因为每当您使用 historyManagementEnabled 添加组件时,Flex 都会调用此方法,所以通常情况下无需进行此调用。然而,如果 HistoryManager 不是从顶级应用程序进行的初始化,将无法正常运行。因此,如果应用程序中的所有组件都未启用 HistoryManager,但加载了启用 HistoryManager 的其它子应用程序,则必须在主应用程序中调用 HistoryManager.initialize() 方法(通常是从该应用程序中的 initialize 事件处理函数中进行调用)。

参数

sm:ISystemManager — 用于此应用程序的 SystemManager。

register()方法 
public static function register(obj:IHistoryManagerClient):void

向 HistoryManager 注册对象。此对象必须实现 IHistoryManagerClient 接口。

参数

obj:IHistoryManagerClient — 要注册的对象。

另请参见

save()方法 
public static function save():void

保存应用程序的当前状态,以便以后还原。当导航器容器的导航状态发生更改时,导航器容器会自动调用此方法。如果向 HistoryManager 注册了某个接口,则当应用程序状态发生更改时,您要负责调用 save() 方法。

unregister()方法 
public static function unregister(obj:IHistoryManagerClient):void

撤销向 HistoryManager 注册对象。

参数

obj:IHistoryManagerClient — 要撤销注册的对象。