简短的回答:饼干。
长答案:我建议你不要尝试它,除非它真的很重要。饼干相当复杂。但是,假设您只想存储一个值,则可以将其简化。
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
然后,你可以这样做:
下面有两个用于设置和Quirksmode读取Cookie,如果你一定要很好的功能
<script type="text/javascript">
function change(id){
ID = document.getElementById(id);
if(ID.style.display == "")
ID.style.display = "none";
else
ID.style.display = "";
createCookie("id",id,7); /* 1 week */
}
window.onload = function() {
try{change(readCookie("id"));}catch(e){} //rough example
};
</script>
<div onclick="change(5)" style="cursor: hand">
<a href = "#">+</a>News
</div>
<div style="display: none" id="5">
News1<br/>
News2<br/>
</div>
非常感谢,但如何在cookie中投入更多值?例如,我有新闻,文章,照片。现在只刷新一个节目后。 – user319854 2010-06-18 09:44:32
使用'createCookie()'函数。例如,'createCookie(“news”,news,7)'(新闻是新闻部分显示的区块)。 'createCookie(“articles”,articles,7)',等等。然后只需添加相应的readCookie编码。 – tcooc 2010-06-19 03:05:47