在localhost上创建cookie

Creating a cookie on localhost

本文关键字:cookie 创建 localhost      更新时间:2023-09-26

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

感谢

从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有点困难。这个家伙有一个很好的库,你可以包括它,它会生成好的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>