http://www.xul.fr/en/html5/sessionstorage.php
I was a tad disappointed when I found out that localStorage
only supports storing strings, since I was hoping for something more structured. But withnative JSON support it’s easy to create an object store on top of localStorage
:
localStorage
databases are scoped to an HTML5 origin, basically the tuple(scheme, host, port)
. This means that the database is shared across all pages on the same domain, even concurrently by multiple browser tabs. However, a page connecting over http://
cannot see a database that was created during an https://
session.
localStorage
and sessionStorage
are supported by Firefox 3.5, Safari 4.0, and IE8. You can find more compatibility details on quirksmode.org, including more detail on the storage event.
UserData是微软为IE专门在系统中开辟的一块存储空间,所以说只支持Windows+IE的组合,实际测试在2000(IE5.5)、XP(IE6、IE7),Vista(IE7)下都是可以正常使用的。
在XP下,一般位于C:\Documents and Settings\用户名\UserData,有些时候会在C:\Documents and Settings\用户名\Application Data\Microsoft\Internet Explorer\UserData。
在Vista下,位于C:\Users\用户名\AppData\Roaming\Microsoft\Internet Explorer\UserData。
网页制作完成手册中这样说:
Security Zone |
Document Limit (KB) |
Domain Limit (KB) |
Local Machine |
128 |
1024 |
Intranet |
512 |
10240 |
Trusted Sites |
128 |
1024 |
Internet |
128 |
1024 |
Restricted |
64 |
640 |
线上使用时,单个文件的大小限制是128KB,一个域名下总共可以保存1024KB的文件,文件个数应该没有限制。在受限站点里这两个值分别是64KB和640KB,所以如果考虑到各种情况的话,单个文件最好能控制64KB以下。
用下面的JS语句就可以建立一个支持UserData的对象:
o = document.createElement('input');说白了UserData就是样式里的一个Behavior,所以这样写也是一样的:
<input type=hidden class= storeuserData />UserData可以绑定在大多数的html标签上,具体为:
A, ACRONYM, ADDRESS, AREA, B, BIG, BLOCKQUOTE, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DEL, DFN, DIR, DIV, DL, DT, EM, FONT, FORM, hn, HR, I, IMG, INPUT type=button, INPUT type=checkbox, INPUT type=file, INPUT type=hidden, INPUT type=image, INPUT type=password, INPUT type=radio, INPUT type=reset, INPUT type=submit, INPUT type=text, KBD, LABEL, LI, LISTING, MAP, MARQUEE, MENU, OBJECT, OL, OPTION, P, PLAINTEXT, PRE, Q, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TEXTAREA, TT, U, UL, VAR, XMUserData对象有以下的属性和方法:
属性 |
描述 |
expires |
设置或读取文件过期时间 |
XMLDocument |
读取文件的XML DOM |
方法 |
描述 |
getAttribute |
读取指定属性的值 |
load |
打开文件 |
removeAttribute |
删除指定的属性 |
save |
保存文件 |
setAttribute |
为指定属性赋值 |
UserData文件实际上就是一个XML文件,通过文件名->属性的方式保存字符串,如以下一段代码:
o.setAttribute("code", "hello world!");在一个文件中可以有多个属性,也就是可以存储多种不同的数据。
在音乐盒链接保存项目里,封装了一个UserData类,这样可以更方便地使用UserData,代码如下:
/** @class 定义userdata的操作 */参考资料:
自:http://hi.baidu.com/aullik5/blog/item/60d2b5fc52675a1e09244d77.html
自:http://www.cnblogs.com/QLeelulu/archive/2008/03/29/1129322.html