在localhost上创建cookie

时间:2012-04-03 14:51:50

标签: javascript cookies localhost

我正在寻找一种在javascript中在本地主机上创建/检测cookie的方法。基本上,如果会话中存在具有指定名称“foo”的cookie,则不执行任何操作。如果不存在cookie,则创建一个名为foo的新cookie并用guid填充它。我怎么能在javascript中做到这一点?

由于

1 个答案:

答案 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>