使用cookie记录用户名,在网上找了些,但是测试的时候发现不够严谨,自己又加了写东西。如下:
var Cookies = {};
/* 设置Cookies */
Cookies.set = function(name, value)
{
if ((typeof (name) != "undefined") && (name != null) && (name != ""))
{
var argv = arguments;
var argc = arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : '/';
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape(value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
};
/* 读取Cookies */
Cookies.get = function(name)
{
var arrCookie = document.cookie.split(";");
for (var i = 0; i < arrCookie.length; i++)
{
var eachCookie = arrCookie[i].split("=");
//表达式/^\s*|\s*$/ 表示前导空格和后导空格
if (name == eachCookie[0].replace(/^\s*|\s*$/, ""))
{
return unescape(eachCookie[1]);
}
}
//没有找到相应的cookie时
return null;
};
/*清除Cookies*/
Cookies.clear = function(name)
{
if (Cookies.get(name))
{
var expdate = new Date();
expdate.setTime(expdate.getTime() - (1 * 24 * 60 * 60 * 1000));
Cookies.set(name, "", expdate);
}
};
页面上:
//页面加载时,读取是否显示用户名,如果显示,则显示出用户名,否则,不显示用户名
$(document).ready(
function()
{
var userName = Cookies.get("UserName");
var result = ""; //需要写入用户名文本框的值
if ((typeof (userName) != "undefined") && (userName != null) && (userName != ""))
{
result = userName;
$("#ViewName").attr("checked", true);
}
else
{
$("#ViewName").attr("checked", false);
}
//将数据写入用户名文本框
$("#UserName").val(result);
}
);
//选择按钮,设置是否显示用户名。
//如果要显示用户名,就将用户名保存到cookie里,否则,删除cookie里的用户名
function SetViewName()
{
//判断是否要显示用户名
var viewName = $("#ViewName").attr("checked");
var userName = $("#UserName").val();
if ((typeof (viewName) != "undefined") && (viewName != null) && viewName
&& (typeof (userName) != "undefined") && (userName != null) && (userName != "")
)
{
//显示用户名,将用户名存入cookie
var expdate = new Date();
//过期时间是1年
expdate.setTime(expdate.getTime() + 365 * 24 * 60 * 60 * 1000);
Cookies.set("UserName", userName, expdate);
}
else
{
//不显示 清楚cookie里的用户名数据
Cookies.clear("UserName");
}
}
提示:判断null 用 ==或!= ,判断