当前位置:编程学习 > C#/ASP.NET >>

测试 Cookie在不同浏览器内容长度限制的测试

(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值依然可以正常读取。
补充:asp.net教程,基础入门
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,