<html>
<head>
<meta  http-equiv="content-type"  content="text/html";charset="utf-8"><title>试一下cookie</title>
<style>textarea {width:50%;height:50%;border:2px solid ;color:#333;}
</style>
<script type="text/javascript">
<!--
function read_cookie(key)
{

var str,ary;
str=document.cookie;
ary=str.replace(/ *; */g,";").split(";");
key=escape(key)+"=";
for(var i=0;i<ary.length;i++)
{
if(ary[i].indexOf(key)==0)
{
return(unescape(ary[i].split("=")[1]));
}
}


}function write_cookie(key,value,cookieDomain,cookiePath,expireTime,targetWindow)
{

var strAppendix="";
strAppendix+=cookieDomain?";domain="+cookieDomain:"";
strAppendix+=cookiePath?";path="+cookiePath:"";
strAppendix+=expireTime?";expires="+expireTime:"";
targetWindow=targetWindow?targetWindow:top;
targetWindow.document.cookie=escape(key)+"="+escape(value)+strAppendix;
}function savedate()
{

var dt=new Date();
dt.setYear(dt.getYear()+2);
write_cookie("text1",$("text1").value,false,false,dt.toUTCString());
}function loaddate()
{

if(read_cookie("text1"))  $("text1").value=read_cookie("text1");
}function $(str){return (document.getElementById(str));}-->
</script></head>
<body  style="overflow:auto;" onload="loaddate();" onunload="savedate();">
<center><textarea id="text1" > 在这里输入内容,关闭页面再次打开,修改后的内容依然存在</textarea></center>
</body></html>功能是想自动保存写入的信息,当再次打开时写入的信息依然还在。
可是当我重新打开时,却发现没有正确的保存了之前写入的东西。
要如何解决?

解决方案 »

  1.   

    cookie存储的信息有限制的,你这么做难以实现你想要的效果一、浏览器允许每个域名所包含的cookie数:
      Microsoft指出InternetExplorer8增加cookie限制为每个域名50个,但IE7似乎也允许每个域名50个cookie。
      Firefox每个域名cookie限制为50个。
      Opera每个域名cookie限制为30个。
      Safari/WebKit貌似没有cookie限制。但是如果cookie很多,则会使header大小超过服务器的处理的限制,会导致错误发生。
      注:“每个域名cookie限制为20个”将不再正确!
    二、当很多的cookie被设置,浏览器如何去响应。
      除Safari(可以设置全部cookie,不管数量多少),有两个方法:
      最少最近使用(leastrecentlyused(LRU))的方法:当Cookie已达到限额,自动踢除最老的Cookie,以使给最新的Cookie一些空间。InternetExplorer和Opera使用此方法。
      Firefox很独特:虽然最后的设置的Cookie始终保留,但似乎随机决定哪些cookie被保留。似乎没有任何计划(建议:在Firefox中不要超过Cookie限制)。
    三、不同浏览器间cookie总大小也不同:
      Firefox和Safari允许cookie多达4097个字节,包括名(name)、值(value)和等号。
      Opera允许cookie多达4096个字节,包括:名(name)、值(value)和等号。
      InternetExplorer允许cookie多达4095个字节,包括:名(name)、值(value)和等号。
    注:多字节字符计算为两个字节。在所有浏览器中,任何cookie大小超过限制都被忽略,且永远不会被设置。