事实上,我们可以利用微软dhtml默认行为中的userdata行为来实现这个功能。
因为很多网友问到这样的问题,整理了一下,并提供了三个示例。下面将就该行为的使用做一个介绍:
userdata 行为(userdata behavior):
1、说明:
userdata行为通过将数据写入一个userdata存储区(userdata store)来保存数据,userdata可以将数据以xml格式保存在客户端计算机上,如果你用的是 windows 2000 或者 windows xp,是保存在c:\documents and settings\liming\userdata\文件夹下(如果操作系统不是安装在c盘,那么c就应该是操作系统所在的分区)。
该数据将一直存在,除非你人为删除或者用脚本设置了该数据的失效期。
userdata行为提供了一个比cookie更具有动态性和更大容量的数据结构。每页的userdata存储区数据大小可以达到64 kb,每个域名可以达到640 kb。
userdata行为通过sessions为每个对象分配userdata存储区。使用save和load方法将userdata存储区数据保存在缓存(cache)中。一旦userdata存储区保存以后,即使ie浏览器关闭或者刷新了,下一次进入该页面,数据也能够重新载入而不会丢失。
出于安全的考虑,相同协议使用同一个文件夹保存userdata存储区数据。
for security reasons, a userdata store is available only in the same directory and with the same protocol used to persist the store.
在html、head、title和style标记上应用了userdata行为后使用save和load方法将会出错。
setting the userdata behavior (proposed) class on the html, head, title, or style object causes an error when the save or load method is called.
必须在行内或者文档的head部分宣告如下样式:
userdata行为可用于microsoft? win32?和unix平台上的ie 5.0以上版本,不支持netscape。
2、语法:
html
script object.style.behavior = url('#default#userdata')
object.addbehavior (#default#userdata)
注:sid参数是一个可以描述该标记的唯一id。id是可选的,但如果有,可以在脚本中方便地对该标记加以控制。
3、成员:
expires
设置或取得使用userdata行为保存数据的失效日期。
脚本语法:对象id.expires = 参数
参数是一个使用utc(universal time coordinate,世界调整时间)格式表示失效日期的字符串。该属性可以读写,没有默认值。浏览器会对比这个日期和当前日期,如果到期,该数据就自动失效。
getattribute()
取得指定的属性值。
load(存储区名)
从userdata存储区载入存储的对象数据。
removeattribute()
从对象中删除指定的属性值。
save(存储区名)
将对象数据存入一个userdata存储区。
setattribute()
设置指定的属性值。
xmldocument
取得存储该对象数据的xml dom引用。
具体用法可以查看msdn(http://msdn.microsoft.com)
4、示例
示例一:文本框标记的应用(microsoft)
代码如下:
[ctrl+a 全选 注:如需引入外部js需刷新才能执行]
示例二:checkbox标记的应用
代码如下:
[ctrl+a 全选 注:如需引入外部js需刷新才能执行]
示例三:select标记的应用
代码如下:
option1option2option3option4
[ctrl+a 全选 注:如需引入外部js需刷新才能执行]