当前位置: 首页 > 面试题库 >

使用JavaScript获取和设置单个Cookie值的“最佳”方法是什么

尉迟远
2023-03-14
问题内容

我想每次引用页面时都增加一个cookie值,即使该页面是从缓存中加载的。实现此目的的“最佳”或最简洁的方法是什么?


问题答案:

从http://www.quirksmode.org/js/cookies.html#script被盗

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toUTCString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}

使用它:

var oldCount = parseInt(readCookie('hitCount'), 10) || 0;
createCookie('hitCount', oldCount + 1, 7);

如评论中指出的那样,由于cookie被存储并作为字符串返回,因此您应该将其强制转换为int。使用foo++++foo会为您实际投放,但更确切地知道您正在使用的是更安全的方法:

var x = "5";  // x = "5" (string)
x += 1;       // x = "51" (string!)
x += 5;       // x = "515" (string!)
++x;          // x = 516 (number)


 类似资料:
  • 本文向大家介绍JavaScript设置、获取、清除单值和多值cookie的方法,包括了JavaScript设置、获取、清除单值和多值cookie的方法的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴代码了。 具体代码如下:  以上代码就是本文给大家介绍JavaScript设置、获取、清除单值和多值cookie的方法,有哪里不清楚的地方欢迎给我留言。

  • 问题内容: 我试图根据我在HTML中选择的CSS文件来设置Cookie。我有一个带有选项列表的表单,以及不同的CSS文件作为值。当我选择一个文件时,应将其保存到Cookie大约一周。下次打开HTML文件时,它应该是您选择的上一个文件。 JavaScript代码: HTML代码: 问题答案: 我发现以下代码比其他任何代码都简单得多: 现在,调用函数

  • 本文向大家介绍javascript设置和获取cookie的方法实例详解,包括了javascript设置和获取cookie的方法实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript设置和获取cookie的方法。分享给大家供大家参考,具体如下: 1. 设置cookie 2. 获取cookie 例子: 注意: 由于google Chrome浏览器为了安全只支持online

  • 本文向大家介绍javascript实现设置、获取和删除Cookie的方法,包括了javascript实现设置、获取和删除Cookie的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript实现设置、获取和删除Cookie的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javascript程序设计有所帮助。

  • 问题内容: HTML5 Canvas没有用于显式设置单个像素的方法。 可能可以使用很短的线设置像素,但是抗锯齿和线帽可能会干扰。 另一种方法可能是创建一个小对象并使用: 放置到位。 谁能描述一种有效且可靠的方法? 问题答案: 有两个最佳竞争者: 创建1×1图像数据,设置颜色,并在以下位置: var d = id.data; // only do this once per page d[0] =

  • 问题内容: 我希望能够设置一个cookie,并在对nodejs服务器实例的每个请求中读取单个cookie。是否可以用几行代码来完成,而无需引入第三方库? 只是尝试直接从nodejs.org中获取上述代码,然后在其中工作一个cookie。 问题答案: 无法快速访问获取/设置Cookie的功能,因此我想到了以下技巧: 这会将所有cookie存储到cookie对象中,并且在编写头部时需要设置cookie