spacer

Webref WebRef   Sitemap · Experts · Tools · Services · Newsletters · About i.com

home / experts / javascript / column24


Historty Persistence

Developer News
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?

Internet Explorer 5.0 introduces saveHistory, a Behavior that enables persistent Back and Forward moves. This Behavior enables you to go Back a page and then Forward and still find your page as you have left it in the first place. Let's practice it a little so you understand the power behind it.

Let's try to go Back a page. After you take 3-4 turns on the Connect Three game, click the Back icon. Make sure you have some "o" and "x" pieces positioned on the board. Internet Explorer will go back a page. Now try going forward, by clicking the Forward icon. You will find your Connect Three game in the exact same shape you have left it. You have just witnessed the power of the saveHistory Behavior. We explain next how to implement it.

There are a few changes you have to implement in your Web page to be able to use the persistence Bahaviors. First, you have to add the following META tag:

<META NAME="save" CONTENT="history">

Secondly, you need to define the saveHistory Behavior as a built-in one:

<STYLE>  
  .saveHistory{behavior:url(#_IE_);}
</STYLE>

The rest of the changes are identical to those made for Favorites persistence, as described on the previous page. We want to persist the whole game board by persisting the BODY tag. In order to enable a persistent element, you need to specify its Behavior via the CLASS attribute, assign an ID to the element, and define its onload() and onsave() event handlers. In our case of the BODY tag, the HTML statement looks like this:

<BODY CLASS="saveHistory" ID="game"
 onload="handleBodyLoad()" onsave="handleBodySave()">

The onsave() and the onload() event handlers are described on the previous page.

As explained on the previous page, it's important to understand that we could not have persisted individual IMG element's gif file. The reason is that if we assign the gif file upon loading of the IMG element (as opposed to the BODY element), a load event would be triggered, causing the script to go into an infinite loop.

http://www.internet.com

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs

webref The latest from WebReference.com Browse >
Rolling Out Your Own HTML Application Version Control · HTML 5: Client-side Storage · Working with Ajax Server Extensions
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Wi-Fi Product Watch, November 2009 · Chip Market Recovering From '08 Collapse · Low-Cost Tools to Kickstart Your New Business


Created: August 28, 1998
Revised: August 28, 1998

URL: http://www.webreference.com/js/column24/history