我正在寻找一种在javascript中在本地主机上创建/检测cookie的方法。基本上,如果会话中存在具有指定名称“foo”的cookie,则不执行任何操作。如果不存在cookie,则创建一个名为foo的新cookie并用guid填充它。我怎么能在javascript中做到这一点?
由于
答案 0 :(得分:0)
从javascript中读取cookie需要一些字符串解析。有许多好的库使这项任务更容易,但您可以使用类似于以下的代码来获取和设置cookie值
<script type="text/javascript">
function GetCookieValue(key) {
var value = null;
var cookieArray = document.cookie.split(';');
for (var i = 0; i < cookieArray.length; i++) {
var keyValuePair = cookieArray[i].split("=");
if (keyValuePair[0] == key) {
value = keyValuePair[1];
break;
}
}
return value;
}
function SetCookieValue(key, value) {
document.cookie = key + "=" + value;
}
</script>
在javascript中生成Guid有点困难。 This guy有一个很好的库,你可以包含它将生成良好的GUID。我知道也有一些jQuery插件是用类似的目的创建的,但我还没有使用它们。
如果您包含以下脚本,以及上述功能,它应该可以执行您想要的操作。
<script type="text/javascript" src="http://www.broofa.com/Tools/Math.uuid.js"></script>
<script type="text/javascript">
var guid = GetCookieValue("myGuid");
if (guid == null)
SetCookieValue("myGuid", Math.uuid());
alert(GetCookieValue("myGuid"));
</script>