UserData使用总结[转载-lanyu]
2008-04-02 09:31
435 查看
前一段做音乐和链接保存项目时用到了UserData,现在上线后效果不错,就把UserData的一些用法总结出来,大家一同分享。应用范围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。 容量网页制作完成手册中这样说:
如何使用?用下面的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,所以这样写也是一样的: <input type=hidden class= 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, 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, XM UserData对象有以下的属性和方法:
o.setAttribute("code", "hello world!"); o.save("baidu"); 执行后,UserData文件夹中会生成一个baidu[1].xml文件,其中的内容是: <ROOTSTUB code="hello,world!"/> 在一个文件中可以有多个属性,也就是可以存储多种不同的数据。 在音乐盒链接保存项目里,封装了一个UserData类,这样可以更方便地使用UserData,代码如下: /** @class 定义userdata的操作 */ var UserData = { // 定义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){ return false; } }; return true; }, // 保存文件到userdata文件夹中 f-文件名,c-文件内容,e-过期时间 save : function(f, c, e){ if(UserData.init()){ var o = UserData.o; // 保持对象的一致 o.load(f); // 将传入的内容当作属性存储 if(c) o.setAttribute("code", c); // 设置文件过期时间 var d = new Date(), 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()){ var o = UserData.o; // 读取文件 o.load(f); // 返回文件内容 return o.getAttribute("code"); } }, // 检查userdata文件是否存在 f-文件名 exist : function(f){ return UserData.load(f) != null; }, // 删除userdata文件夹中的指定文件 f-文件名 remove : function(f){ UserData.save(f, false, -UserData.defExps); } // UserData函数定义结束 }; |
相关文章推荐
- UserData使用总结
- 使用IE userdata behavior当作客户端的存储数据(转载)
- 使用LUA userdata手动绑定C++对象
- javascript在vs2003中调试随笔和javascript使用小总结[转载]
- 使用LUA userdata手动绑定C++对象
- DHTMLX TREE userdata 使用
- lua userdata 使用
- Struts的ActionForm中不同类型属性的使用方法总结(转载)
- .NET环境下水晶报表使用总结 (转载)
- 转载:宏定义的一些使用技巧总结
- [转载]在程序代码中使用DataTemplate的另类方法
- String Data JPA使用总结
- 【转载】Struts 2中的OGNL/EL的使用总结
- ASP.NET的gridview设置数据格式(DataFormatString="{}")与 String.Format 使用总结
- ASP.NET的gridview设置数据格式(DataFormatString="{}")与 String.Format 使用总结 .
- Flex个人使用总结:ClassFactory,动态为DataGird添加渲染列
- DataBinding使用总结-基础篇(配置及基本使用)
- 转载:Android Studio调试功能使用总结
- Socut.Data.dll 与AspNetPager.dll使用说明及心得体会 (转载)
- 总结linux下使用mysql数据库出现 “Access denied for user 'root'@'localhost' (using password: YES)”