DOM编程之五

来源:互联网 发布:手机屏幕按键软件 编辑:程序博客网 时间:2024/05/02 04:55

Document详解:

一,cookie

1,浏览器每次访问服务器时,都是完全不同的请求,就算两次访问的内容一模一样也不例外,也就是说,是无状态的;而cookie就是来完成有状态的访问,浏览器每次访问服务器的时候都给浏览器返回一些状态信息(放在cookie中),浏览器中有一个cookie存储区来存放这些cookie,下次再访问时就会带上相应的cookie(如果有),因为浏览器每次访问服务器的时候都会查看cookie存储区,看是否有与该服务器相关的cookie,不同的服务器返回的cookie是单独存放在cookie存储区的,各不相干。,

2,即,每一个状态信息就是一个cookie,每一个cookie都必须有一个标示符和相应的值(即状态信息),其格式为:name=value;

3,document对象的cookie属性

(1)设置cookie

      格式:name=value;expires=GMT格式的时间;path=路径;domain=域;secure

-------expire用于设置cookie的有效期,如果这个时间值早与当前时间或者等于0,浏览器就会删除同名的cookie,所以要删除cookie的方法就是,设置同名cookie的有效期早于当前时间;如果有效期是当前时间之后,则会把cookie保存到cookie存储区,以供下次使用;如果没有设置这个有效期,则cookie的有效期是浏览器窗口的有效期,即浏览器关闭了则cookie也就删除了,它只保存在浏览器进程的内存空间中,即浏览器的缓存中;

------domain用于设置域名,当浏览器访问该域下的所以主机时才带上该cookie;如果没有设置,则cookie值对产生cookie的当前主机有效;

------path用于设置有效路径,表示只对相应主机的指定路径及其子路径有效;如果没有设置,则只对当前URL所在的目录及其子目录有效;

------secure,设置它以后cookie就是安全的,因为浏览器只有在安全的环境下才能访问它

如:

var date=new Date();

date.setTime(date.getTime()+10*365*24*60*60*3600);

var expStr="expires="+date.toGMTString()+";";  --->设置有效期

document.cookie="name="+escape("张文兵")+";"+expStr;--->设置cookie

document.cookie="name2="+escape("张文兵")+";"+expStr;-->增加cookie

document.cookie="name="+escape("张文兵")+";"+"expires=0";--->删除cookie

    

(2)Cookie的存储位置:(win7系统)

C:\Users\admin\AppData\Roaming\Microsoft\Windows\Cookies

浏览器会为每一次访问的站点创建一个.txt文件来存放cookie

可想而知,访问了多个站点后,就会有多个.txt文件,那么,浏览器怎么把服务器和它相应的.txt文件对应起来呢?是去遍历每一个.txt文件吗?肯定不是的,答案是会同时保存一个index.dat文件,里面存放着cookie文件和对应站点的信息。

(3)禁用cookie的方法

  一、IE选项法

  1、启动IE;

  2、在“工具”菜单上,单击“Internet选项”,打开“Internet选项”对话框;

  3、单击“隐私”选项卡,将滑块上移到更高的隐私级别。如果移动到最顶端则是选择“阻止所有的Cookie”,此时系统将阻止所有网站的Cookie,而且网站不能读取计算机上已有的Cookie;

  4、单击“确定”按钮。

  二、属性设置法

  当然,上述的“IE选项法”笔者是在IE6中操作完成,如果你用的是IE5,那么请在“Internet选项”对话框中“安全”选项卡上进行设置,在IE4中又有所不同。而下述的“属性设置法”把保存Cookie的文件夹设置为“只读”属性,从而网站也就无法向其中写入Cookie信息了。该法适用于各种版本的IE。

  1、启动“Windows资源管理器”;

  2、找到保存Cookie的文件夹。使用Windows版本不同,保存Cookie的文件夹会有所不同。比如,在Windows XP中,该文件夹为“C:Documents and Settings用户名Cookies”文件夹;在Windows 98中,是“C:WindowsCookies”文件夹;

  3、右键单击该文件夹,再单击“属性”,打开文件夹属性对话框,选中“只读”复选框,指定此文件夹中的文件为只读属性,只读意味着文件不能被更改或意外删除;

  4、单击“确定”按钮。

  三、注册表法

  “属性设置法”实际上也有缺陷,就是网站照样可以读取计算机上已有的Cookie。而且有一些特殊Cookie不是以文本文件形式存在,而是保存在内存中。这类Cookie通常是用户在访问某些特殊网站时,由系统自动在内存中生成,一旦访问者离开该网站又自动将Cookie从内存中删除。上述两法对这些Cookie就无能为力了,而“注册表法”可以弥补这些不足。

  1、单击“开始”菜单,再单击“运行”,然后在“打开”框中键入“regedit”,单击“确定”按钮,打开“注册表编辑器”窗口;

  2、依次展开“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrent
VersionInternet SettingsCacheSpecial PathsCookies”分支,右键单击“Cookies”,然后单击快捷菜单中的“删除”命令,当系统提示确认删除时,请单击“是”按钮;

  3、关闭“注册表编辑器”窗口

  为了防止一些网站将Cookie文件放到你的计算机中,除了如上所述手动进行设置外,还有一个简便的方法是安装软件来保护你的Cookie文件。这类软件比较多,你可以到各大软件下载站点去下载。比如,Complete Cleanup Software Trail就是一款专门用来清除各种Cookie的软件,它的功能十分强大,不但能让已保存在计算机中的Cookie无处藏身,也能将用户浏览网页时保存在硬盘缓存中的垃圾信息清除。

原创粉丝点击