zoukankan      html  css  js  c++  java
  • jQuery中cookie的简单操作

    jQuery 可以通过 jquery.cookie.js 插件来操作 Cookie。

    用NuGet安装:PM>Install-Package js-cookie -Version 

    官网:https://www.npmjs.com/package/js-cookie#direct-download

    点击下载:https://github.com//js-cookie/js-cookie/archive/master.zip

    直接在jQuery.js之后引用 :

    <script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>

    基本用法

    创建一个在整个网站上有效的Cookie:

    Cookies.set('name', 'value');

    创建一个从现在起7天后过期的cookie,在整个站点上有效:

    Cookies.set('name', 'value', { expires: 7 });

    创建一个过期的cookie,对当前页面的路径有效:

    Cookies.set('name', 'value', { expires: 7, path: '' });

    读取cookie:

    Cookies.get('name'); // => 'value'
    Cookies.get('nothing'); // => undefined

    阅读所有可见的Cookie:

    Cookies.get(); // => { name: 'value' }

    删除cookie:

    Cookies.remove('name');

    删除对当前页面路径有效的cookie:

    Cookies.set('name', 'value', { path: '' });
    Cookies.remove('name'); // 失败!
    Cookies.remove('name', { path: '' }); //删除了! 

    重要!删除cookie时,必须传递用于设置cookie的完全相同的路径和域属性,除非您依赖于默认属性。

    注意:删除未存在的cookie不会引发任何异常,也不会返回任何值

    Cookie属性

    Cookie属性默认值可以通过设置Cookies.defaults对象的属性来全局设置,也可以Cookies.set(...)通过在最后一个参数中传递普通对象来为每个调用单独设置。每次调用属性会覆盖默认属性。

    expires

    定义何时删除cookie。值可以是Number将被解释为创建时或Date实例的天数。如果省略,cookie将成为会话cookie。

    要创建在不到一天的时间内到期的cookie

    默认值:用户关闭浏览器时会删除Cookie。

    例子:

    Cookies.set('name''value'{ expires365 });
    Cookies.get('name')// => 'value'
    Cookies.remove('name');

    path

    String表示cookie可见的路径。

    默认: /

    例子:

    Cookies.set('name', 'value', { path: '' });
    Cookies.get('name'); // => 'value'
    Cookies.remove('name', { path: '' }); 

    关于Internet Explorer的注意事项:

    由于底层WinINET InternetGetCookie实现中存在一个模糊的错误,如果使用包含文件名的路径属性设置,IE的document.cookie将不会返回cookie。 

    这意味着path: window.location.pathname如果这样的路径名包含如下所示的文件名,则无法设置路径:( /check.html或者至少,这样的cookie无法正确读取)。 

    domain

     String表示cookie应该可见的有效域。cookie也将对所有子域可见。

     默认值: Cookie仅对创建cookie的页面的域或子域可见,Internet Explorer除外(请参见下文)。

     例子:

     假设正在创建的cookie site.com

    Cookies.set('name', 'value', { domain: 'subdomain.site.com' });
    Cookies.get('name'); // => undefined (need to read at 'subdomain.site.com')

     关于Internet Explorer默认行为的注意事项:

    如果我没有为cookie指定DOMAIN属性,IE会将它发送到所有嵌套的子域吗。例子上设置的cookie将发送到sub2.sub1.example.com。在这方面,Internet Explorer与其他浏览器不同。这意味着如果省略该domain属性,它将在IE中显示为子域。

     secure

     任一truefalse,表示如果cookie传输需要安全协议(HTTPS)。

     默认值:无安全协议要求。

     例子:

    Cookies.set('name', 'value', { secure: true });
    Cookies.get('name'); // => 'value'
    Cookies.remove('name');
  • 相关阅读:
    老王讲架构:负载均衡
    支付宝系统架构内部剖析
    Effective Java 第三版——61. 基本类型优于装箱的基本类型
    Effective Java 第三版——60. 需要精确的结果时避免使用float和double类型
    Effective Java 第三版——59. 熟悉并使用Java类库
    Effective Java 第三版——58. for-each循环优于传统for循环
    Effective Java 第三版——57. 最小化局部变量的作用域
    Effective Java 第三版——56. 为所有已公开的API元素编写文档注释
    Effective Java 第三版——55. 明智而审慎地返回Optional
    Effective Java 第三版——54. 返回空的数组或集合不要返回null
  • 原文地址:https://www.cnblogs.com/xianyv/p/10800893.html
Copyright © 2011-2022 走看看