cookie是什么?
cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。
搜狗浏览器暂不支持cookie。
cookie的优点:
保持用户登录状态,跟踪用户行为,制定页面,创建购物车。
cookie的缺点:
可能被禁用,可能被删除,cookie是一个文件,容易被用户删除,安全性不高,cookie可能与浏览器有关。
<body οnlοad='checkCookie()'>
<script>
//检查是否已设置 cookie,
//先会检查 document.cookie 对象中是否存有 cookie。
//假如 document.cookie 对象存有某些 cookie,那么会继续检查我们指定的 cookie 是否已储存。
//如果找到了我们要的 cookie,就返回值,否则返回空字符串。
function getCookie(c_name) {
if(document.cookie.length > 0){
var c_start = document.cookie.indexOf(c_name + "=");
if(c_start != -1){
c_start = c_start + c_name.length + 1;
var c_end = document.cookie.indexOf(";",c_start);
if(c_end == -1)
c_end = document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}
//创建一个可在 cookie 变量中存储访问者姓名的函数
function setCookie(c_name, value, expiredays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name + "=" +escape(value) +
((expiredays == null) ? "" : ";expires =" +exdate.toGMTString());
}
//如果 cookie 已设置,则显示欢迎词,否则显示提示框来要求用户输入名字。
function checkCookie() {
var username = getCookie('username');
if(username != null && username != ""){
alert('欢迎 ' + username + '');
} else {
username = prompt('请输入您的姓名:',"");
if(username!=null && username!=""){
setCookie('username',username,365);
}
}
}
</script>
</body>