正常访问状态! 设为首页 | 加入收藏夹 | 浏览历史  
  http://www.guosp.com
 碧海澜涛居
  海纳百川,有容乃大。壁立千刃,无欲则刚!
 
 
关键词:
  网站首页 | 关于本站 | 技术资料 | 美文日志 | 读书收藏 | 影视收藏 | 软件收藏 | 摄影相册| 留言板 
  技术资料 >> 网页制作 关闭(快捷键alt+C)
搜索标签: UserDate 总结
UserData使用总结
[阅读次数:1837次]  [发布时间:2009年8月14日]

应用范围

UserData是微软为IE专门在系统中开辟的一块存储空间,所以说只支持Windows+IE的组合,实际测试在2000IE5.5)、XPIE6IE7),VistaIE7)下都是可以正常使用的。

在哪儿?

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的文件,文件个数应该没有限制。在受限站点里这两个值分别是64KB640KB,所以如果考虑到各种情况的话,单个文件最好能控制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,所以这样写也是一样的:

<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对象有以下的属性和方法:

属性

描述

expires

设置或读取文件过期时间

XMLDocument

读取文件的XML DOM

方法

描述

getAttribute

读取指定属性的值

load

打开文件

removeAttribute

删除指定的属性

save

保存文件

setAttribute

为指定属性赋值

UserData文件实际上就是一个XML文件,通过文件名->属性的方式保存字符串,如以下一段代码:

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函数定义结束
};




本页地址: [复制地址]
该页内容非本站原创 收藏自:http://hi.baidu.com/bdui/blog/item/474bc87ef40d823b0cd7da8e.html
返回顶部 关闭(快捷键alt+C)
评论统计(0条)| 我要评论
暂无评论内容!
我要评论 
我要评论: 带*部分需要填写
 姓名称呼: * 请填写您的姓名或呢称
联系方式: QQ,MSN,Email都可以,方便交流 (仅管理员可见)
 评论内容: * 不超过100字符,50汉字
验证码:
    
  推荐链接
  最近更新  
·Host 'XXX' is not allowed...
·Win2008或IIS7的文件上传大...
·IIS7.0上传文件限制的解决方...
·测试信息2015-03-11
·asp.net中处理图片
·ASP.NET之Web打印-终极解决...
·Asp.net下C#调用Word模版实...
·asp.net下将页面内容导入到...
·asp.net导出为pdf文件
·asp.net生成pdf文件
·FCKeditor 文本编辑器的使用...
·ASP.NET 将数据生成PDF
·asp.net2.0导出pdf文件完美...
·AspJpeg的安装与测试
·JS验证浏览器版本对IE11的支...
  热门浏览  
·IE8和IE9出现“此网页上的问...
·无线路由器密码破解,教你断...
·js替换所有回车换行符
·QQ/MSN在线交流代码
·IE弹出“中国工商银行防钓鱼...
·如何取消键盘上的一些快捷键...
·win7声音小的解决方法
·webdav漏洞的利用
·强制两端对齐的函数或者CSS...
·win7下成功安装sql server ...
·显示器分辨率调的过高导致电...
·天诺时空技术技术论坛
·js验证手机号码格式
·JS展开和收缩效果(二)
·本地计算机上的 MSSQLSERVE...
  碧海澜涛居
网站首页关于本站站长简介开发案例技术资料美文日志摄影相册读书收藏影视收藏留言板
版权所有:碧海澜涛 QQ:410436434 Email:shaopo_guo@163.com 苏ICP备15000526号
免责声明:本站为个人网站,站内所有文字、图片等各类资料均为个人兴趣爱好所收集,不用作任何商业用途,亦不保证资料的真实性,若有因浏览本站内容而导致的各类纠纷,本站也不承担任何责任。本站部分内容来自互联网,如有涉及到您的权益或隐私请联系站长解决。