Use IE userdata behavior as a client-side data storage

I described how to use jStore as a client-side persistent storage in my last post. The jStore manage a number of different storage engines, such as gears and flash objects. But they all need additional downloads.

The IE browser has provide a mechanism called userdata behavior to store max 128kb data a page, 1024kb a domain. This is a portion of DHTML that suppoted by IE5 or later. Refer to this article: userData Behavior.

The userdata behavior is much like what cookie does, but it supply a much bigger storage. The data is stored in the C:\Documents and Settings\User Name\UserData\ folder, which will be visible even if you refresh the page or re-open the IE browser. The data will always exist, unless you delete it manually or set the expire date.

Here is an example:

$(function() {

var userData = $('#userData')[0];

$('#getData').click(function() {





$('#saveData').click(function() {

  userData.setAttribute('data_1', $('#data').val());'my_user_data_storage');



<div id="userData" style="behavior: url(#default#userData);">


<input id="data" type="text" />

<input id="getData" type="button" value="Get Data" />

<input id="saveData" type="button" value="Save Data" />