使用 jQuery 创建、读取和擦除 cookie [重复]

Posted

技术标签:

【中文标题】使用 jQuery 创建、读取和擦除 cookie [重复]【英文标题】:Create, read, and erase cookies with jQuery [duplicate] 【发布时间】:2010-12-08 15:06:12 【问题描述】:

谁来帮帮我。如何使用 jQuery 创建、读取和删除一些 cookie?

【问题讨论】:

参考这个例子coding-issues.com/2016/03/create-cookie-using-jquery.html 【参考方案1】:

使用javascript Cookie plugin

设置 cookie

Cookies.set("example", "foo"); // Sample 1
Cookies.set("example", "foo",  expires: 7 ); // Sample 2
Cookies.set("example", "foo",  path: '/admin', expires: 7 ); // Sample 3

获取 cookie

alert( Cookies.get("example") );

删除 cookie

Cookies.remove("example");
Cookies.remove('example',  path: '/admin' ) // Must specify path if used when setting.

【讨论】:

@RameshSoni,我尝试将此插件与 rails 一起使用,但它不适合我。知道这个和 Rails 4 是否有问题吗?谢谢 @jackerman09 这是一个客户端插件,可与 jQuery 一起使用。如果您使用导轨,则无关紧要。您能否提供有关您的问题的更多详细信息? @RameshSoni,我特别指的是github.com/RyanScottLewis/jquery-cookie-rails,我意识到你并没有特别提到上面,但是当我将它包含在我的 Gemfile 和 application.js 中时(紧接着 // = 需要 jQuery,正如安装说明所说的那样),每当我加载有关丢失文件的应用程序时,我都会收到错误消息。如果我没记错的话,错误类似于“Sprockets::FileNotFound”(或类似的东西,我现在不在我的开发计算机上)。谢谢! 这里有更新版本github.com/js-cookie/js-cookie,API有点不同 在 laravel 中也不工作【参考方案2】:

据我所知,没有直接支持,但您可以使用普通的 javascript:

// Cookies
function createCookie(name, value, days) 
    if (days) 
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    
    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);

【讨论】:

我一直在使用这个脚本,但不起作用 @Agus ... 在这里工作得很好,我在生产项目中拥有它,它们就像一个魅力!你遇到了什么错误? 好的 ol javascript 是 jQuery 的基础!这是许多插件中的相同代码。 +1 跨浏览器的正确性是 Web 开发的一个长期问题。 cookie 处理是否足够统一,可以在任何地方直接使用 document.cookie?你能说这是用哪些浏览器测试过的吗? 在 Opera 29、Firefox 38、Chrome 42 上运行正常。IE 11 不工作。【参考方案3】:

使用 jquery cookie 插件,该链接今天有效: https://github.com/js-cookie/js-cookie

【讨论】:

【参考方案4】:

Google 是我的朋友,它向我展示了这个页面:

http://www.electrictoolbox.com/jquery-cookies/ How do I set/unset cookie with jQuery? Can jQuery read/write cookies to a browser?

【讨论】:

因为是“聪明人”的答案而被否决。 "为链接提供上下文 - 鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用最相关的部分重要链接,以防目标站点无法访问或永久离线。” ***.com/help/how-to-answer

以上是关于使用 jQuery 创建、读取和擦除 cookie [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HTML5 中动画和擦除弧线

获得平均值和擦除数字有很大差异[关闭]

以编程方式创建/删除/擦除磁盘分区?

基于STM32的Flash擦除方式

基于STM32的Flash读写详解

jQuery中cookie使用