【www.gdgbn.com--浏览器】

(1) 当前页面未设置同名cookie的情况;

  (2) 当前页面已设置同名cookie的情况; 主要测试代码如下:
//超过4k的一个超长字符串


var longstring="dfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfs

afdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfs

afdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsaf

dfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdf

safdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfs

afdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsaf

dsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafd

fsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsa

fdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdf

safdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfs

afdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafd

safdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdf

safdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsaf

dfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsaf

dfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsaf

dsafdfsa

fdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsa

fdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsaf

dfsafdsafdfsafdsafdfsafdsafdfsafdsafddfsafdsafdfsafdsafdfsafdsafdfsafdsafdf

;


//写cookie函数


function setcookie(name,value)
{
var days = 1; //此 cookie 将被保存 1 天
var exp = new date();
exp.settime(exp.gettime() + days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.togmtstring();
}

function getcookie(name)//取cookies函数
{
var arr = document.cookie.match(new regexp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}

//设置cookie,此处包含文章开头提到的两种情况:
setcookie("test","已经设置的cookie");

//设置超长cookie: 
setcookie("test",longstring);

alert(getcookie("test"));




测试结果如下:  (1) 当前页面未设置同名cookie的情况;     浏览器版本  输出结果  ie6  null  ie7  null ie8  null  firefox  null  chrome  null  opera  null 结论: 在以上各版本浏览器中写入超过4kb(当然各浏览器情况可能不同,有的是4095字节,有的是4096字节)字符串时会出现无法写入的情况, 并不能实现截断写入的情况。 (2) 当前页面已设置同名cookie的情况;    浏览器版本  输出结果  ie6   null  ie7   null  ie8  已经设置的cookie  firefox  已经设置的cookie  chrome  已经设置的cookie  opera  已经设置的cookie 结论: 在以上各版本浏览器中当已经存在键名为 "test" 的值时,写入超过4kb(当然各浏览器情况可能不同,有的是4095字节,有的是4096字节)字符串时:  1. 在ie6与ie7下,当无法写入超长字符串时,会影响原有键名为"test"的cookie值,在测试结果中可以看到此cookie值已经被清除;  2. 而在其他浏览器中,当无法写入超长字符串时,并不会影响到原有同键名的cookie值,原有cookie值依然可以正常读取。

本文来源:http://www.gdgbn.com/bangongshuma/29459/