|Class||public class HistoryManager|
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
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
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
loadState()methods of the IHistoryManagerClient interface to complete the registration of the component. Components that extend UIComponent automatically inherit the
All methods and properties of the HistoryManager are static, so you do not need to create an instance of it.
[static] DEPRECATED - Initializes the HistoryManager.
[static] Registers an object with the HistoryManager.
[static] Saves the application's current state so it can be restored later.
[static] Unregisters an object with the HistoryManager.
public static function initialize(sm:ISystemManager):void
DEPRECATED - Initializes the HistoryManager. In general, this does not need to be called
because any time you add a component with
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.
public static function register(obj:IHistoryManagerClient):void
Registers an object with the HistoryManager. The object must implement the IHistoryManagerClient interface.Parameters
public static function save():void
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
when the application state changes.
public static function unregister(obj:IHistoryManagerClient):void
Unregisters an object with the HistoryManager.Parameters