Wednesday, October 24, 2007

替代cookie在客户端实现数据持久性

在这个页面进行数据存储(仅限IE userData持久性)


<html>
<body>
<!-- This stylesheet defines a class named "persistent" -->
<style>.persistent { behavior:url(#default#userData);}</style>
<!-- This <div> element is a member of that class -->
<div id="memory" class="persistent"></div>

<script type="text/javascript">
var memory = document.getElementById("memory"); // Get persistent element
memory.setAttribute("username", 'user_name'); // Set data as attributes
memory.setAttribute("favoriteColor", '#ddd');

var now = (new Date( )).getTime( ); // now, in milliseconds
var expires = now + 10 * 24 * 60 * 60 * 1000; // 10 days from now in ms
memory.expires = (new Date(expires)).toUTCString( ); // convert to a string

memory.save("myPersistentData"); // Save the data

</script>
</body>
</html>

可以在这个页面读取,类似于操作cookie:

<html>
<body>
<!-- This stylesheet defines a class named "persistent" -->
<style>.persistent { behavior:url(#default#userData);}</style>
<!-- This <div> element is a member of that class -->
<div id="memory" class="persistent"></div>

<script type="text/javascript">
document.write("test result: <br/>");
var memory = document.getElementById("memory"); // Get persistent element
memory.load("myPersistentData"); // Retrieve saved data by name
var user = memory.getAttribute("username"); // Query attributes
var color = memory.getAttribute("favoriteColor");

document.write(user + '; ' + color);
</script>
</body>
</html>

No comments :