UserData用法总结lanyu出品
用法 总结 出品
2023-06-13 09:14:23 时间
应用范围
UserData是微软为IE专门在系统中开辟的一块存储空间,所以说只支持Windows+IE的组合,实际测试在2000(IE5.5)、XP(IE6、IE7),Vista(IE7)下都是可以正常使用的。
在哪儿?
在XP下,一般位于C:\DocumentsandSettings\用户名\UserData,有些时候会在C:\DocumentsandSettings\用户名\ApplicationData\Microsoft\InternetExplorer\UserData。
在Vista下,位于C:\Users\用户名\AppData\Roaming\Microsoft\InternetExplorer\UserData。
容量
网页制作完成手册中这样说:
SecurityZone
DocumentLimit(KB)
DomainLimit(KB)
LocalMachine
128
1024
Intranet
512
10240
TrustedSites
128
1024
Internet
128
1024
Restricted
64
640
线上使用时,单个文件的大小限制是128KB,一个域名下总共可以保存1024KB的文件,文件个数应该没有限制。在受限站点里这两个值分别是64KB和640KB,所以如果考虑到各种情况的话,单个文件最好能控制64KB以下。
如何使用?
用下面的JS语句就可以建立一个支持UserData的对象:
o=document.createElement("input");
o.type="hidden";
o.addBehavior("#default#userData");
//UserData.o.style.behavior="url("#default#userData")";
//上面的语句也是一样的作用
document.body.appendChild(o);
说白了UserData就是样式里的一个Behavior,所以这样写也是一样的:
<inputtype=hiddenclass=storeuserData/>
<style>
.storeuserData{behavior:url(#default#userData);}
</style>
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,INPUTtype=button,INPUTtype=checkbox,INPUTtype=file,INPUTtype=hidden,INPUTtype=image,INPUTtype=password,INPUTtype=radio,INPUTtype=reset,INPUTtype=submit,INPUTtype=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,XM
UserData对象有以下的属性和方法:
属性
描述
expires
设置或读取文件过期时间
XMLDocument
读取文件的XMLDOM
方法
描述
getAttribute
读取指定属性的值
load
打开文件
removeAttribute
删除指定的属性
save
保存文件
setAttribute
为指定属性赋值
UserData文件实际上就是一个XML文件,通过文件名->属性的方式保存字符串,如以下一段代码:
o.setAttribute("code","helloworld!");
o.save("baidu");
执行后,UserData文件夹中会生成一个baidu[1].xml文件,其中的内容是:
<ROOTSTUBcode="hello,world!"/>
在一个文件中可以有多个属性,也就是可以存储多种不同的数据。
在音乐盒链接保存项目里,封装了一个UserData类,这样可以更方便地使用UserData,代码如下:
复制代码代码如下:
UserData是微软为IE专门在系统中开辟的一块存储空间,所以说只支持Windows+IE的组合,实际测试在2000(IE5.5)、XP(IE6、IE7),Vista(IE7)下都是可以正常使用的。
在哪儿?
在XP下,一般位于C:\DocumentsandSettings\用户名\UserData,有些时候会在C:\DocumentsandSettings\用户名\ApplicationData\Microsoft\InternetExplorer\UserData。
在Vista下,位于C:\Users\用户名\AppData\Roaming\Microsoft\InternetExplorer\UserData。
容量
网页制作完成手册中这样说:
SecurityZone
DocumentLimit(KB)
DomainLimit(KB)
LocalMachine
128
1024
Intranet
512
10240
TrustedSites
128
1024
Internet
128
1024
Restricted
64
640
线上使用时,单个文件的大小限制是128KB,一个域名下总共可以保存1024KB的文件,文件个数应该没有限制。在受限站点里这两个值分别是64KB和640KB,所以如果考虑到各种情况的话,单个文件最好能控制64KB以下。
如何使用?
用下面的JS语句就可以建立一个支持UserData的对象:
o=document.createElement("input");
o.type="hidden";
o.addBehavior("#default#userData");
//UserData.o.style.behavior="url("#default#userData")";
//上面的语句也是一样的作用
document.body.appendChild(o);
说白了UserData就是样式里的一个Behavior,所以这样写也是一样的:
<inputtype=hiddenclass=storeuserData/>
<style>
.storeuserData{behavior:url(#default#userData);}
</style>
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,INPUTtype=button,INPUTtype=checkbox,INPUTtype=file,INPUTtype=hidden,INPUTtype=image,INPUTtype=password,INPUTtype=radio,INPUTtype=reset,INPUTtype=submit,INPUTtype=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,XM
UserData对象有以下的属性和方法:
属性
描述
expires
设置或读取文件过期时间
XMLDocument
读取文件的XMLDOM
方法
描述
getAttribute
读取指定属性的值
load
打开文件
removeAttribute
删除指定的属性
save
保存文件
setAttribute
为指定属性赋值
UserData文件实际上就是一个XML文件,通过文件名->属性的方式保存字符串,如以下一段代码:
o.setAttribute("code","helloworld!");
o.save("baidu");
执行后,UserData文件夹中会生成一个baidu[1].xml文件,其中的内容是:
<ROOTSTUBcode="hello,world!"/>
在一个文件中可以有多个属性,也就是可以存储多种不同的数据。
在音乐盒链接保存项目里,封装了一个UserData类,这样可以更方便地使用UserData,代码如下:
/**@class定义userdata的操作*/
varUserData={
//定义userdata对象
o:null,
//设置文件过期时间
defExps:365,
//初始化userdate对象
init:function(){
if(!UserData.o){
try{
UserData.o=document.createElement("input");
UserData.o.type="hidden";
//UserData.o.style.behavior="url("#default#userData")";
UserData.o.addBehavior("#default#userData");
document.body.appendChild(UserData.o);
}catch(e){
returnfalse;
}
};
returntrue;
},
//保存文件到userdata文件夹中f-文件名,c-文件内容,e-过期时间
save:function(f,c,e){
if(UserData.init()){
varo=UserData.o;
//保持对象的一致
o.load(f);
//将传入的内容当作属性存储
if(c)o.setAttribute("code",c);
//设置文件过期时间
vard=newDate(),e=(arguments.length==3)?e:UserData.defExps;
d.setDate(d.getDate()+e);
o.expires=d.toUTCString();
//存储为制定的文件名
o.save(f);
}
},
//从uerdata文件夹中读取指定文件,并以字符串形式返回。f-文件名
load:function(f){
if(UserData.init()){
varo=UserData.o;
//读取文件
o.load(f);
//返回文件内容
returno.getAttribute("code");
}
},
//检查userdata文件是否存在f-文件名
exist:function(f){
returnUserData.load(f)!=null;
},
//删除userdata文件夹中的指定文件f-文件名
remove:function(f){
UserData.save(f,false,-UserData.defExps);
}
//UserData函数定义结束
};
相关文章
- C++ map用法总结(整理)
- CSS3选择器介绍及用法总结[通俗易懂]
- Java中枚举的写法和用法详解编程语言
- bootstrap select 多选的用法,取值和赋值(取消默认选择第一个的对勾)详解编程语言
- C++类模板用法详解
- 用法Redis从库技术指南(redis从库)
- 用Oracle AS进行应用开发(oracleas的用法)
- MySQL中如何使用Tag来管理数据(mysql中tag的用法)
- cxOracle 使用探索之旅(cx_oracle的用法)
- jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
- 深入C++string.find()函数的用法总结
- C#中按引用传递与按值传递的区别,以及ref与out关键字的用法详解
- C语言中system()函数的用法总结
- JavaScript中setInterval的用法总结
- aspx与ascx,ashx的用法总结
- innerHTML,outerHTML,innerText,outerText的用法及区别解析
- JS对话框_JS模态对话框showModalDialog用法总结
- jsjqueryajax的几种用法总结(及优缺点介绍)
- C#字符串的截取函数用法总结
- 总结下sqlservergroupby的用法
- sql学习之CASEWHENTHENELSEEND的用法
- python的类变量和成员变量用法实例教程