我正在使用以下代码设置/获取删除 cookie:
function get_cookie(cookie_name)
{
var results = document.cookie.match('(^|;) ?' + cookie_name + '=([^;]*)(;|$)');
if (results)
return ( decodeURI(results[2]) );
else
return null;
}
function set_cookie(name, value, exp_y, exp_m, exp_d, path, domain, secure)
{
var cookie_string = name + "=" + encodeURI(value);
if (exp_y)
{
var expires = new Date(exp_y, exp_m, exp_d);
cookie_string += "; expires=" + expires.toGMTString();
}
if (path)
cookie_string += "; path=" + encodeURI(path);
if (domain)
cookie_string += "; domain=" + encodeURI(domain);
if (secure)
cookie_string += "; secure";
document.cookie = cookie_string;
}
function delete_cookie(cookie_name)
{
var cookie_date = new Date(); // current date & time
cookie_date.setTime(cookie_date.getTime() - 1);
document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}
但我得到的结果不一致。例如,在起始页 (www.example.com/start) 上设置的 cookie 不会总是显示在后续页面 (www.example.com/foo/thing.jsp) 上。我正在使用设置页面的 cookie“onUnload”
set_cookie("beginrequest", (new Date()).getTime(), null, null, null, "/");
并通过“onLoad”检索+删除它
loadDur = (new Date()).getTime() - get_cookie("beginrequest");
delete_cookie("beginrequest");
测量页面加载所花费的总时间。
使用萤火虫时,我经常看到“剩余的”beginrequest-cookies 和多个带有过去时间戳的 beginrequest 实例。
我怎样才能在每个页面上只看到一个 beginrequest-cookie?