我是JavaScript和Cookie的新手,所以我有这个奇怪的问题,因为不同的网站有不同的格式。所以我对cookie如何读取和访问它的不同部分感到困惑,即cookie如何识别路径或到期日期的名称?我们是否总是必须指定“username = ...; path = /;”它能够识别它还是根据格式自动找到它? 我想要解决的主要问题是如何为cookie创建代码添加一个值,例如“document.cookie =”username = John; visit = 1;“并使用该访问部分告诉<每次页面加载时都会向其添加1来强>点击次数。
谢谢!
答案 0 :(得分:1)
我使用两个函数(可能是原始代码来自here或here)来获取和设置Cookie,这里是:
function setCookie(cookieName, content, expires, path) {
var date = new Date();
date.setDate(date.getDate() + expires);
var cookie = escape(content) + (expires == null ? "" : "; expires=" + date.toUTCString()) + (path != null ? "; path=" + path : "");
document.cookie = cookieName + "=" + cookie;
return true;
}
function getCookie(cookieName) {
var cookie = document.cookie,
begin = cookie.indexOf(" " + cookieName + "=");
if (begin == -1) begin = cookie.indexOf(cookieName + "=");
if (begin == -1) cookie = null;
else {
begin = cookie.indexOf("=", begin) + 1;
var end = cookie.indexOf(";", begin);
if (end == -1) end = cookie.length;
cookie = unescape(cookie.substring(begin, end));
}
return cookie;
}
通过它们,您可以轻松地做您想做的事:
<body onload="pageLoad()">
)function pageLoad() {
var cCont = getCookie('hitCount');
var count = 0;
if (cCont != null) count = parseInt(count + '');
setCookie('hitCount', (count + 1) + '', null, null);
}
count
变量,或再次使用getCookie
功能。
你的第一个问题并不完全清楚,但请阅读this page,有很好的例子和代码示例。 This是另一个很好的Cookie演示文稿。