mx.managers

# HistoryManager - AS3 Flex

Package | mx.managers
Class | public class HistoryManager
Inheritance | HistoryManager Object

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

History management lets users navigate through a Flex application using the web browser's Back and Forward navigation commands.

In general, you should use the BrowserManager class and deep linking for maintaining state in an application and manipulating URLs and browser history, but the HistoryManager class can be useful under some circumstances, such as if you are maintaining a legacy Flex application. You cannot use the HistoryManager and the BrowserManager classes in the same Flex application, even though they use the same set of supporting files.

History management is enabled by default for the Accordion and TabNavigator containers. This means that if the user selects one of the panes in an Accordion control, that user can return to the previous pane by using the browser's Back button or back navigation command. History management is disabled by default for the ViewStack navigator container.

You can disable history management by setting the navigator container's `historyManagementEnabled` property to `false`.

You can also enable history management for other objects in an application by registering the objects with the HistoryManager. To register a component with the HistoryManager class, you call the HistoryManager class's `register()` method with a reference to a component instance that implements the IHistoryManagerClient interface. In the following example, the Application component (`this`) is registered with the HistoryManager class when the Application is initialized:

      <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        implements="mx.managers.IHistoryManagerClient"
        initialize="mx.managers.HistoryManager.register(this);">

You must also implement the `saveState()` and `loadState()` methods of the IHistoryManagerClient interface to complete the registration of the component. Components that extend UIComponent automatically inherit the `loadState()` method.

All methods and properties of the HistoryManager are static, so you do not need to create an instance of it.

Related API Elements

mx.managers.BrowserManager
mx.managers.IHistoryManagerClient

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | initialize(sm:ISystemManager):void [static] DEPRECATED - Initializes the HistoryManager. | HistoryManager
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | register(obj:IHistoryManagerClient):void [static] Registers an object with the HistoryManager. | HistoryManager
|  | save():void [static] Saves the application's current state so it can be restored later. | HistoryManager
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | unregister(obj:IHistoryManagerClient):void [static] Unregisters an object with the HistoryManager. | HistoryManager
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Method Detail

### initialize

()
method

`public static function initialize(sm:ISystemManager):void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

DEPRECATED - Initializes the HistoryManager. In general, this does not need to be called because any time you add a component with `historyManagementEnabled`, Flex calls this method. However, the HistoryManager will not work correctly if it is not initialized from the top-level application. So, if your application does not have any HistoryManager enabled components in it and loads other sub-applications That do, you must call the `HistoryManager.initialize()` method in the main application, usually from an `initialize` event handler on the application.

Parameters

| `sm:ISystemManager` — SystemManager for this application.

### register

()
method

`public static function register(obj:IHistoryManagerClient):void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Registers an object with the HistoryManager. The object must implement the IHistoryManagerClient interface.

Parameters

| `obj:IHistoryManagerClient` — Object to register.

Related API Elements

mx.managers.IHistoryManagerClient

### save

()
method

`public static function save():void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Saves the application's current state so it can be restored later. This method is automatically called by navigator containers whenever their navigation state changes. If you registered an interface with the HistoryManager, you are responsible for calling the `save()` method when the application state changes.

### unregister

()
method

`public static function unregister(obj:IHistoryManagerClient):void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Unregisters an object with the HistoryManager.

Parameters

| `obj:IHistoryManagerClient` — Object to unregister.

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00