YUI Library Examples: Browser History Manager (beta): TabView Control

Browser History Manager (beta): TabView Control

This example demonstrates how to use the Browser History Manager to remember which tabs have been visited with the TabView widget and dynamically update it when the user presses the browser's back/forward buttons.

Tab Two Content

Basic markup

In our example, the TabView widget relies on the following markup:

Add the markup required by the Browser History Manager

This markup should be inserted right after the opening body tag.

Import the source files and dependencies

In our example, we need the Event Utility, DOM Utility, TabView Widget, and the Browser History Manager:

Design your application

In our simple example, we have only one module, represented by the TabView widget. We will refer to this module using the identifier "tabview". The state of the TabView module will be represented using the string "tab" followed by the selected tab index (e.g. "tab2" if the third tab is selected)

Retrieve the initial state of the TabView module

Use the YAHOO.util.History.getBookmarkedState method and default to the first tab:

Register the TabView module

Use the YAHOO.util.History.register method, passing in the TabView module identifier, the initial state of the TabView module, and the callback function that will be called when the state of the TabView module has changed:

Write the code that initializes your application

Use the Browser History Manager onReady method

Use the Browser History Manager onReady method to instantiate the TabView widget. Also, retrieve the current state of the TabView module, and use that state to select the right tab (the current state may be different from the initial state under certain circumstances - see the User's Guide)

Add history entries

A new history entry must be added every time the user selects a tab. Use the TabView widget's activeTabChange event handler (set to handleTabViewActiveTabChange - see above):

Initialize the Browser History Manager

Simply call YAHOO.util.History.initialize, passing in the id of the input field and IFrame we inserted in our static markup:

More Browser History Manager (beta) Resources:

Copyright © 2008 Yahoo! Inc. All rights reserved.

Privacy Policy - Terms of Service - Copyright Policy - Job Openings