JS设置cookie、读取cookie
作者:KoMiles 发布时间:2024-08-20 02:48:22
标签:JS,cookie
JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。
而cookie是运行在客户端的,所以可以用JS来设置cookie。
js设置cookie方法汇总:
第一种:
<script>
//设置cookie
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
//获取cookie
function getCookie(cname) {
var name = cname + "=";
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);
if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
}
return "";
}
//清除cookie
function clearCookie(name) {
setCookie(name, "", -1);
}
function checkCookie() {
var user = getCookie("username");
if (user != "") {
alert("Welcome again " + user);
} else {
user = prompt("Please enter your name:", "");
if (user != "" && user != null) {
setCookie("username", user, 365);
}
}
}
checkCookie();
</script>
第二种:
<script>
//JS操作cookies方法!
//写cookies
function setCookie(c_name, value, expiredays){
var exdate=new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie=c_name+ "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
//读取cookies
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return (arr[2]);
else
return null;
}
//删除cookies
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
//使用示例
setCookie('username','Darren',30)
alert(getCookie("username"));
</script>
第三个例子
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<script language="JavaScript" type="text/javascript">
function addCookie(objName, objValue, objHours){//添加cookie
var str = objName + "=" + escape(objValue);
if (objHours > 0) {//为0时不设定过期时间,浏览器关闭时cookie自动消失
var date = new Date();
var ms = objHours * 3600 * 1000;
date.setTime(date.getTime() + ms);
str += "; expires=" + date.toGMTString();
}
document.cookie = str;
alert("添加cookie成功");
}
function getCookie(objName){//获取指定名称的cookie的值
var arrStr = document.cookie.split("; ");
for (var i = 0; i < arrStr.length; i++) {
var temp = arrStr[i].split("=");
if (temp[0] == objName)
return unescape(temp[1]);
}
}
function delCookie(name){//为了删除指定名称的cookie,可以将其过期时间设定为一个过去的时间
var date = new Date();
date.setTime(date.getTime() - 10000);
document.cookie = name + "=a; expires=" + date.toGMTString();
}
function allCookie(){//读取所有保存的cookie字符串
var str = document.cookie;
if (str == "") {
str = "没有保存任何cookie";
}
alert(str);
}
function $(m, n){
return document.forms[m].elements[n].value;
}
function add_(){
var cookie_name = $("myform", "cookie_name");
var cookie_value = $("myform", "cookie_value");
var cookie_expireHours = $("myform", "cookie_expiresHours");
addCookie(cookie_name, cookie_value, cookie_expireHours);
}
function get_(){
var cookie_name = $("myform", "cookie_name");
var cookie_value = getCookie(cookie_name);
alert(cookie_value);
}
function del_(){
var cookie_name = $("myform", "cookie_name");
delCookie(cookie_name);
alert("删除成功");
}
</script>
</head>
<body>
<form name="myform">
<div>
<label for="cookie_name">
名称
</label>
<input type="text" name="cookie_name" />
</div>
<div>
<label for="cookie_value">
值
</lable>
<input type="text" name="cookie_value" />
</div>
<div>
<label for="cookie_expireHours">
多少个小时过期
</lable>
<input type="text" name="cookie_expiresHours" />
</div>
<div>
<input type="button" value="添加该cookie" onclick="add_()"/><input type="button" value="读取所有cookie" onclick="allCookie()"/><input type="button" value="读取该名称cookie" onclick="get_()"/><input type="button" value="删除该名称cookie" onclick="del_()"/>
</div>
</form>
</body>
</html>
注意:
chrome浏览器在本地获取不到cookie。必须在服务器上才可以。如果是本地的话,你可以放到local的www目录下面。
Google Chrome只支持在线网站的cookie的读写操作,对本地html的cookie操作是禁止的。所以下面的代码如果你写在一个本地的html文件中,将弹出的对话框内容为空。
document.cookie = "Test=cooo";
alert(document.cookie);
如果这个页面是在线网站的内容,则会正常显示cookie内容Test=cooo等等。
以上所述就是本文的全部内容了,希望大家能够喜欢。


猜你喜欢
- 准备工作右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库。读取图像调用imr
- (f *File).Name()这个函数是返回文件的名称,函数原型func (f *File) Name() string要文件的指针操作,
- 如题,先上效果图:主要分为两大步骤使用python语句,通过百度地图API,对已知的地名抓取经纬度使用百度地图API官网的html例程,修改
- 今天我们继续向大家介绍一款翻页效果的制作。当鼠标移动到链接上时,翻页的链接区除了有悬停效果,还会放大。这样的效果具有很强烈的效果。大家适当美
- 一、问题1.1 鼠标放上去不显示文档的提示鼠标放在随意一个函数上面不显示他的说明了我也不知道是咋了二、解决2.1 首先我只记得有一个侧边栏叫
- 一、时间戳实际开发中,我们一般希望create_time和update_time这两个属性能自动设置,所以在建表的时候需要在model上特殊
- 这里是两个用于数组中查找重复元素的demo,可以看看啦<!DOCTYPE html><html lang="en
- 【基本介绍】【格式】:pivot(聚合函数 for 需要转为列的字段名 in(需要转为列的字段值))【说明】:实现将指定字段的字段值转换为列
- Python实现图像处理:PiL依赖库的应用本文包含的练习题主要是PIL依赖库,即pillow相关的应用。练习一:使用python给图片增加
- Postman是一款免费的http模拟请求工具,常用来测试开发接口。实际场景中,很多接口是需要授权才能使用。这就需要Postman获取授权,
- 二分类问题可能是应用最广泛的机器学习问题。今天我们将学习根据电影评论的文字内容将其划分为正面或负面。一、数据集来源我们使用的是IMDB数据集
- (asp.net的应用). 在网上一搜有很多此类文章,但我需要将公司的复杂的,较大的web应用也以此方式操作,比较的头大。一般的文章建议将b
- 前两篇文章对NumPy数组做了基本的介绍,本篇文章对NumPy数组进行较深入的探讨。首先介绍自定义类型的数组,接着数组的组合,最后介绍数组复
- 上一篇文章介绍了Python使用OPENCV的目标跟踪算法实现自动视频标注效果,感兴趣的朋友点击查看,使用滑模变结构控制策略来解决汽车跟踪问
- 本文实例讲述了Python全排列操作。分享给大家供大家参考,具体如下:step 1: 列表的全排列:这个版本比较low# -*-coding
- 一、什么是Perl Hash哈希是一种数据结构,和数组类似,可以将值存放到其中,或者从中取回值。但是,和数组不同的是,其索引不是数字,而是名
- 总是记不住API。昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧:python中对文件、文件夹(文件操作函数)的操作需要涉及到os
- text函数的功能是向数据点添加文本说明。语法text(x,y,txt)text(x,y,z,txt)text(___,Name,Value
- 前言Go语言的序列化与反序列化在工作中十分常用,在Go语言中提供了相关的解析方法去解析JSON,操作也比较简单序列化// 数据序列化func
- <!doctype html><html><head><meta http-equiv