spacer

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

home / experts / javascript / column24


Historty Persistence

Developer News
News Flash: Adobe Has iPhone Workaround
Adobe's Flash 10.1 Goes Mobile (Minus iPhone)
A Salute to Visionary CEOs

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, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs

webref The latest from WebReference.com Browse >
Building a Banking Application Home Page with OOP · Mixing Scripting Languages · Review: phpFox, a Social Networking CMS with all the Bells and Whistles
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Enterprise 2.0: Social Networking in the Cloud · BroadSoft Marketplace Hastens Pace of Telephony Innovation · Review: HTC Hero for Sprint


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

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