//设置cookie

document.cookie="inquiry_list="+str+";expires="+4*7*24*3600;

//获取cookie

function getCookie(name){

var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;

}

expires 过期时间,path=/ 作用域,默认不设置情况下,cookie 属于当前页面。

document.cookie="username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/";

使用 JavaScript 创建Cookie

JavaScript 可以使用 document.cookie 属性来创建 、读取、及删除 cookie。

JavaScript 中,创建 cookie 如下所示:

document.cookie="username=John Doe";

您还可以为 cookie 添加一个过期时间(以 UTC 或 GMT 时间)。默认情况下,cookie 在浏览器关闭时删除:

document.cookie="username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 GMT";

您可以使用 path 参数告诉浏览器 cookie 的路径。默认情况下,cookie 属于当前页面。

document.cookie="username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/";

使用 JavaScript 读取 Cookie

在 JavaScript 中, 可以使用以下代码来读取 cookie:

var x = document.cookie;
document.cookie 将以字符串的方式返回所有的 cookie,类型格式: cookie1=value; cookie2=value; cookie3=value;

使用 JavaScript 修改 Cookie

在 JavaScript 中,修改 cookie 类似于创建 cookie,如下所示:

document.cookie="username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/";

旧的 cookie 将被覆盖。


使用 JavaScript 删除 Cookie

删除 cookie 非常简单。您只需要设置 expires 参数为以前的时间即可,如下所示,设置为 Thu, 01 Jan 1970 00:00:00 GMT:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";

注意,当您删除时不必指定 cookie 的值。


Cookie 字符串

document.cookie 属性看起来像一个普通的文本字符串,其实它不是。

即使您在 document.cookie 中写入一个完整的 cookie 字符串, 当您重新读取该 cookie 信息时,cookie 信息是以名/值对的形式展示的。

如果您设置了新的 cookie,旧的 cookie 不会被覆盖。 新 cookie 将添加到 document.cookie 中,所以如果您重新读取document.cookie,您将获得如下所示的数据:

cookie1=value; cookie2=value;

显示所有 Cookie  创建 Cookie 1  创建 Cookie 2 删除 Cookie 1  删除 Cookie 2

如果您需要查找一个指定 cookie 值,您必须创建一个JavaScript 函数在 cookie 字符串中查找 cookie 值。


JavaScript Cookie 实例

在以下实例中,我们将创建 cookie 来存储访问者名称。

首先,访问者访问 web 页面, 他将被要求填写自己的名字。该名字会存储在 cookie 中。

访问者下一次访问页面时,他会看到一个欢迎的消息。

在这个实例中我们会创建 3 个 JavaScript 函数:

  1. 设置 cookie 值的函数
  2. 获取 cookie 值的函数
  3. 检测 cookie 值的函数

设置 cookie 值的函数

首先,我们创建一个函数用于存储访问者的名字:

function setCookie(cname,cvalue,exdays)
{var d = new Date();d.setTime(d.getTime()+(exdays*24*60*60*1000));var expires = "expires="+d.toGMTString();document.cookie = cname + "=" + cvalue + "; " + expires;
}

函数解析:

以上的函数参数中,cookie 的名称为 cname,cookie 的值为 cvalue,并设置了 cookie 的过期时间 expires。

该函数设置了 cookie 名、cookie 值、cookie过期时间。


获取 cookie 值的函数

然后,我们创建一个函数用户返回指定 cookie 的值:

function getCookie(cname)
{var name = cname + "=";var ca = document.cookie.split(';');for(var i=0; i<ca.length; i++) {var c = ca[i].trim();if (c.indexOf(name)==0) return c.substring(name.length,c.length);}return "";
}

函数解析:

cookie 名的参数为 cname。

创建一个文本变量用于检索指定 cookie :cname + "="。

使用分号来分割 document.cookie 字符串,并将分割后的字符串数组赋值给 ca (ca = document.cookie.split(';'))。

循环 ca 数组 (i=0;i<ca.length;i++),然后读取数组中的每个值,并去除前后空格 (c=ca[i].trim())。

如果找到 cookie(c.indexOf(name) == 0),返回 cookie 的值 (c.substring(name.length,c.length)。

如果没有找到 cookie, 返回 ""。


检测 cookie 值的函数

最后,我们可以创建一个检测 cookie 是否创建的函数。

如果设置了 cookie,将显示一个问候信息。

如果没有设置 cookie,将会显示一个弹窗用于询问访问者的名字,并调用 setCookie 函数将访问者的名字存储 365 天:

function checkCookie()
{var username=getCookie("username");if (username!=""){alert("Welcome again " + username);}else {username = prompt("Please enter your name:","");if (username!="" && username!=null){setCookie("username",username,365);}}
}

完整实例

实例

function setCookie(cname,cvalue,exdays){ var d = new Date(); d.setTime(d.getTime()+(exdays*24*60*60*1000)); var expires = "expires="+d.toGMTString(); document.cookie = cname+"="+cvalue+"; "+expires;}function getCookie(cname){ var name = cname + "="; var ca = document.cookie.split(';'); for(var i=0; i<ca.length; i++) { var c = ca[i].trim(); if (c.indexOf(name)==0) { return c.substring(name.length,c.length); } } return "";}function checkCookie(){ var user=getCookie("username"); if (user!=""){ alert("欢迎 " + user + " 再次访问"); } else { user = prompt("请输入你的名字:",""); if (user!="" && user!=null){ setCookie("username",user,30); } }}

尝试一下 »

以下实例在页面载入时执行 checkCookie() 函数。

内容来自:http://www.runoob.com/js/js-cookies.html

js 设置 Cookie,cookie的作用域设置相关推荐

  1. 通过js获取PHP设置的cookie(全实例讲解)

    制作网页我们通常都要做一个登陆界面,如果对于不是安全性要求很高的网站,这个登录界面我我们当然不希望频繁输入账户密码来验证身份,我们想要的是只要一次验证,就可以长时间保持登陆状态. session虽然可 ...

  2. Node.js服务器配置(进阶四:访问和设置客户端cookie)

    前言:我们在有些时候可能需要访问客户端cookie来进行一些操作,比如登录验证,个性化设置等等,这时候我们就需要去配置cookie中间件使我们可以访问和设置客户端的cookie. 先在项目目录下执行以 ...

  3. php domain cookie cross-domian,跨域(cross-domain)访问 cookie (读取和设置)

    Passport 一方面意味着用一个帐号可以在不同服务里登录,另一方面就是在一个服务里面登录后可以无障碍的漫游到其他服务里面去.坦白说,目前 sohu passport 在这一点实现的很烂(不过俺的工 ...

  4. javascript读取php,PHP如何读取由JavaScript设置的Cookie

    cookie在开发中使用的非常多,但如果是使用JavaScript设置cookie然后使用PHP读取出来如何实现呢?即PHP与JavaScript下Cookie的交互使用是否可行呢? // 读取Jav ...

  5. 跨域(cross-domain)访问 cookie (读取和设置)

    跨域(cross-domain)访问 cookie (读取和设置) Passport 一方面意味着用一个帐号可以在不同服务里登录,另一方面就是在一个服务里面登录后可以无障碍的漫游到其他服务里面去.坦白 ...

  6. cookie 有效域名如何设置??

    cookie默认只能在主域名下使用,如果我们想要在子域名下使用cookie,该怎么办呢?下面汤锅就教大家如何在子域名下愉快的使用cookie. 首先新建一个cookie_demo文件,其代码如下: r ...

  7. P3P设置第三方cookie解决方案

    原文地址:http://blog.csdn.net/lovingprince/article/details/5984449 首先,什么是 P3P ( Platform for Privacy Pre ...

  8. Cookie (设置与读取、超时设置、指定路径、显示用户上次登录时间)

    Cooike简介 Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式.Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的 ...

  9. 删除cookie,domain的设置

    删除指定domain的cookie document.cookie = cookie名+'=' + cookie值+';domain=指定域;path=/;expires=' + new Date(0 ...

  10. php cookie的位置,php 设置cookie路径例子总结

    摘要 腾兴网为您分享:php 设置cookie路径例子总结,智慧医疗,有图相册,上汽大众,瑞幸咖啡等软件知识,以及钢琴英雄,天天锁屏,电气计算软件,民族证券小方,qq群匿名器,i世界,cad扩展工具, ...

最新文章

  1. Makefile中关于shell 语句使用的注意事项
  2. 阿里云 Ubuntu16.04 部署 LAMP
  3. oracle数据库教程-张晨光-专题视频课程
  4. TensorFlow学习笔记(二十六)CNN的9大模型之LeNet5的原理讲解
  5. python多个变量与字符串判断_python怎么判断变量是否为字符串
  6. 柠檬汁制成的电池可以开动超100千克的车子吗?
  7. 使用Apache CXF开发SOAP Web服务
  8. 北方网-ios预科班
  9. 互联网热门职位薪酬报告
  10. Spring Tool Suite 4 添加反编译插件
  11. JavaScript 图片切割效果(带拖放、缩放效果)
  12. Qzone高性能HTTPS实践
  13. 程序员失业一月转行去送外卖,晒出当天收入,还以为看错了
  14. 中国贸易外经统计年鉴(2021年)
  15. 为什么微博超话显示服务器有点累,微博超话帖子被吞是什么原因?使用时,注意这些事项...
  16. xml中外部引用DTD文档
  17. Python递归小案例,斐波那契,阶乘等小案例
  18. Win10中使用CMD命令遍历文件夹删除重复文件
  19. 二代身份证号码最后一位校验位的计算方法
  20. 第十三章 使用动态SQL(二)

热门文章

  1. 我行我素购物管理系统(面向对象)
  2. 易用宝项目记录day5-shiro
  3. 怎样对流媒体进行压力测试_loadrunner流媒体压力测试
  4. 数据库系统 --- 数据库技术介绍
  5. 接触云服务环境Eucalyptus
  6. 安装虚拟机不支持i686 cpu的解决办法
  7. ppapi插件(可自定义方法)
  8. sql注入工具的使用
  9. uygurqa输入法android,uygurqa输入法app
  10. WBS工作分解结构法