js的cookie操作

article/2025/6/19 10:18:04
cookie.js:
//这个cookie的js代码借用的老外的,我加了中文注释--原文:http: //www.echoecho.com/jscookies02.htm 
///设置cookie 
function setCookie(NameOfCookie, value, expiredays) 

//@参数:三个变量用来设置新的cookie: 
//cookie的名称,存储的Cookie值, 
// 以及Cookie过期的时间. 
// 这几行是把天数转换为合法的日期 

var ExpireDate =  new Date (); 
ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000)); 

// 下面这行是用来存储cookie的,只需简单的为"document.cookie"赋值即可. 
// 注意日期通过toGMTstring()函数被转换成了GMT时间。 

document.cookie = NameOfCookie +  "=" + escape(value) + 
  ((expiredays ==  null) ?  "" : "; expires=" + ExpireDate.toGMTString()); 


///获取cookie值 
function getCookie(NameOfCookie) 


// 首先我们检查下cookie是否存在. 
// 如果不存在则document.cookie的长度为0 

if (document.cookie.length > 0) 


// 接着我们检查下cookie的名字是否存在于document.cookie 

// 因为不止一个cookie值存储,所以即使document.cookie的长度不为0也不能保证我们想要的名字的cookie存在 
//所以我们需要这一步看看是否有我们想要的cookie 
//如果begin的变量值得到的是-1那么说明不存在 

begin = document.cookie.indexOf(NameOfCookie+ "="); 
if (begin != -1)    


// 说明存在我们的cookie. 

begin += NameOfCookie.length+1; //cookie值的初始位置 
end = document.cookie.indexOf( ";", begin); //结束位置 
if (end == -1) end = document.cookie.length; //没有;则end为字符串结束位置 
return unescape(document.cookie.substring(begin, end)); } 


return  null

// cookie不存在返回null 


///删除cookie 
function delCookie (NameOfCookie) 

// 该函数检查下cookie是否设置,如果设置了则将过期时间调到过去的时间; 
//剩下就交给操作系统适当时间清理cookie啦 

if (getCookie(NameOfCookie)) { 
document.cookie = NameOfCookie +  "=" + 
"; expires=Thu, 01-Jan-70 00:00:01 GMT"

}
演示文件cookie.html:
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > 
< html  xmlns ="http://www.w3.org/1999/xhtml" > 
< head > 
< meta  http-equiv ="Content-Type"  content ="text/html; charset=utf-8"  /> 
< title >Cookie </title> 
< style  type ="text/css" > 
#welcome h3 

font-weight:normal; 
color:#800; 

</style> 
< script  type ="text/javascript"  src ="cookie.js" > </script> 
< script  type ="text/javascript" > 

//---------------使用cookie---------------------- 
function useCookie() 

var username=getCookie("username"); 
if(username!=null){ 
document.getElementById('welcome').innerHTML=" < h3 >欢迎您,"+username+" </h3>"+" < button  onclick ='delusr();' >删除用户名 </button>"; 
}else{ 
var str=" < h3 >欢迎您,游客! </h3>"+ 
  " < input  id ='usrname'  type ='text'  />"+ 
  " < button  id ='saveusr'  onclick ='checksave();' >保存用户名 </button>"; 
document.getElementById('welcome').innerHTML=str; 



function checksave() 

var el=document.getElementById('usrname'); 
if(el.value){ 
setCookie("username",el.value); 
location.reload();//刷新页面 

else 
alert("输入框不能为空"); 


function delusr() 

delCookie("username"); 
location.reload(); 

</script> 
</head> 
< body  onload ="useCookie();" > 
< div  id ="welcome" > 
</div> 
</body> 
</html> 
截图:



cookie.js:
//这个cookie的js代码借用的老外的,我加了中文注释--原文:http: //www.echoecho.com/jscookies02.htm 
///设置cookie 
function setCookie(NameOfCookie, value, expiredays) 

//@参数:三个变量用来设置新的cookie: 
//cookie的名称,存储的Cookie值, 
// 以及Cookie过期的时间. 
// 这几行是把天数转换为合法的日期 

var ExpireDate =  new Date (); 
ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000)); 

// 下面这行是用来存储cookie的,只需简单的为"document.cookie"赋值即可. 
// 注意日期通过toGMTstring()函数被转换成了GMT时间。 

document.cookie = NameOfCookie +  "=" + escape(value) + 
  ((expiredays ==  null) ?  "" : "; expires=" + ExpireDate.toGMTString()); 


///获取cookie值 
function getCookie(NameOfCookie) 


// 首先我们检查下cookie是否存在. 
// 如果不存在则document.cookie的长度为0 

if (document.cookie.length > 0) 


// 接着我们检查下cookie的名字是否存在于document.cookie 

// 因为不止一个cookie值存储,所以即使document.cookie的长度不为0也不能保证我们想要的名字的cookie存在 
//所以我们需要这一步看看是否有我们想要的cookie 
//如果begin的变量值得到的是-1那么说明不存在 

begin = document.cookie.indexOf(NameOfCookie+ "="); 
if (begin != -1)    


// 说明存在我们的cookie. 

begin += NameOfCookie.length+1; //cookie值的初始位置 
end = document.cookie.indexOf( ";", begin); //结束位置 
if (end == -1) end = document.cookie.length; //没有;则end为字符串结束位置 
return unescape(document.cookie.substring(begin, end)); } 


return  null

// cookie不存在返回null 


///删除cookie 
function delCookie (NameOfCookie) 

// 该函数检查下cookie是否设置,如果设置了则将过期时间调到过去的时间; 
//剩下就交给操作系统适当时间清理cookie啦 

if (getCookie(NameOfCookie)) { 
document.cookie = NameOfCookie +  "=" + 
"; expires=Thu, 01-Jan-70 00:00:01 GMT"

}
演示文件cookie.html:
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > 
< html  xmlns ="http://www.w3.org/1999/xhtml" > 
< head > 
< meta  http-equiv ="Content-Type"  content ="text/html; charset=utf-8"  /> 
< title >Cookie </title> 
< style  type ="text/css" > 
#welcome h3 

font-weight:normal; 
color:#800; 

</style> 
< script  type ="text/javascript"  src ="cookie.js" > </script> 
< script  type ="text/javascript" > 

//---------------使用cookie---------------------- 
function useCookie() 

var username=getCookie("username"); 
if(username!=null){ 
document.getElementById('welcome').innerHTML=" < h3 >欢迎您,"+username+" </h3>"+" < button  onclick ='delusr();' >删除用户名 </button>"; 
}else{ 
var str=" < h3 >欢迎您,游客! </h3>"+ 
  " < input  id ='usrname'  type ='text'  />"+ 
  " < button  id ='saveusr'  onclick ='checksave();' >保存用户名 </button>"; 
document.getElementById('welcome').innerHTML=str; 



function checksave() 

var el=document.getElementById('usrname'); 
if(el.value){ 
setCookie("username",el.value); 
location.reload();//刷新页面 

else 
alert("输入框不能为空"); 


function delusr() 

delCookie("username"); 
location.reload(); 

</script> 
</head> 
< body  onload ="useCookie();" > 
< div  id ="welcome" > 
</div> 
</body> 
</html> 
截图:






本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/104996 ,如需转载请自行联系原作者






http://chatgpt.dhexx.cn/article/KsWLayo3.shtml

相关文章

蓝牙 宽带通话 (wide band speech)WBS 剖析(一) -- profile层

一.概述 WBS&#xff08;wide band speech&#xff09;通俗来讲就是蓝牙宽带通话&#xff0c;通话数据frequency 16K&#xff0c;采用msbc编解码&#xff08;chip中实现&#xff09; 和NBS&#xff08;narrow band speech&#xff09;相对&#xff0c;NBS通俗来讲是窄带通话&a…

通话参数配置的经验和技巧

整体的通话信号流程如下&#xff1a; MIC采集信号 -> 放大器 -> ADC采集 -> 通话MIC数字增益 -> AEC算法 -> ANS降噪算法 -> 通话MIC后端数字增益 -> 通话EQ -> 蓝牙上行。 配置中如图所示&#xff1a; MIC去直流fliter配置&#xff1a;MIC高通flite…

CHOLAN:一种模块化实体链接方法

CHOLAN: A Modular Approach for Neural Entity Linking on Wikipedia and Wikidata 论文链接&#xff1a;https://arxiv.org/abs/2101.09969 (EACL 2021) 代码实现&#xff1a;https://github.com/ManojPrabhakar/CHOLAN ABSTRACT 本文作者提出了实现在知识库上进行端到端…

高清语音技术(WBS)及其在手机和蓝牙耳机中的实现

高清语音也被称为宽带语音&#xff0c;是一种能为蜂窝网络、移动电话和无线耳机传输高清、自然语音质量的音频技术。与传统的窄带电话相比&#xff0c;高清语音很大程度上提高了语音质量&#xff0c;减少了听觉负担。 通信产业链上的所有网络和设备都需支持高清语音才能体现出该…

蓝牙编码格式Codec的优先级配置

【Bluetooth】Android版本所支持的蓝牙协议code查询 Android版本所支持的蓝牙协议code查询方法&#xff1a; 协议配置文件有2个&#xff0c;一个是谷歌源生的&#xff0c;一个是高通自己添加的。 优先级&#xff1a;高通 > 谷歌。对于同一种协议会进行覆盖。 其中&#xff…

基于Android Q的蓝牙通话无声问题

分享一下这几天改蓝牙通话无声的bug&#xff0c;文章有点长&#xff0c;希望各位看官看完能帮助到大家—今天分析的主题是蓝牙通话没有声音之运行流程分析 一. 结果说在前面 ​ 蓝牙通话分别有七个阶段&#xff0c;基本上每个阶段都会走到底层&#xff0c;把数据回调到上层&a…

BQB pts测试

测试BQB的pts dongle是在蓝牙SIG官网买的,链接是 https://store.bluetooth.com/12210888/orders/d3b63cfd9d3d5a22c2e08ad9711a91c4 pts dongle最新的测试结果 ACS-BV-07-I/ACS-BV-12-I/ACS-BI-13-I 这三个是接完电话就fail ICA-BV-02-I/TCA-BV-01-I 这两个是挂不了电话 ICR-B…

蓝牙btsnoop log,HFP协议连接流程详解,以及RFCOMM连接和常用AT指令

HFP&#xff08;Hands-Free&#xff09;&#xff1a;蓝牙免提协议,两个角色AG&#xff0c;HF端&#xff0c;AG端通常是手机设备&#xff0c;HF免提端一般为耳机车载等&#xff0c;hfp的连接首先要进行SDP&#xff0c;然后建立RFCOMM&#xff0c;然后SLC连接完成&#xff0c;HFP…

蓝牙协议HFP(Hands-Free Profile)电话免提协议 Connection management 连接管理HFP SLC 的建立跟释放

零. 概述 本文章主要讲下电话免提协议HFP&#xff08;Hands-Free Profile&#xff09;Connection management。包括connection establishment 跟connection realease&#xff0c;那connection establishment又会涉及到HFP SLC的建立过程。 本节讲解的内容就是一下HFP fea…

蓝牙A2DP和HFP编解码

一、A2DP A2DP全名是&#xff08;Advanced Audio Distribution Profile&#xff09; 蓝牙音频传输模型协定&#xff0c;提供通过蓝牙连接传输音频流的能力&#xff0c;比如手机播放音乐&#xff0c;蓝牙耳机通过蓝牙连接听歌。 mp3和flac音频编码都是在PCM音频编码基础上二次编…

Rockchip安卓11.0 16k wbs msbc HFP PCM语音通话支持

Rockchip安卓11.0 16k wbs/msbc HFP PCM语音通话支持 调试平台: 安卓11.0, rk3328, 博通ap6212芯片, HFP 8K已经调通的情况下. SDK修改支持16k wbs/msbc HFP PCM语音注意点如下: 1. bluedroid(system/bt) 博通方案中, ESCO_DATA_PATH_PCM 为1代表蓝牙芯片作为pcm master, 6…

蓝牙电话之HFP-电话音频

蓝牙电话之HFP协议中的电话音频 蓝牙技术通信的内容多种多样&#xff0c;其中音频部分包含媒体音频和电话音频。 媒体音频&#xff1a;播放蓝牙音乐的数据&#xff0c;这种音频对质量要求高&#xff0c;数据发送有重传机制&#xff0c;从而以l2cap的数据形式走ACL链路。编码方…

VSCode 按下tab键自动补全功能失效

问题描述&#xff1a;标签自动补全插件已经安装&#xff0c;某天按下tab键自动补全标签的功能突然失效了。解决方法&#xff1a; 1、找到路径 file > Preferences >settings 2、搜索tabs&#xff0c;选择Extensions里面的Emmet&#xff0c;将复选框的√打上就ok啦!

javascript 按下回车键触发input表单的切换(enter键代替tab键功能)

本来是想用js代码去模拟键盘按下来实现该功能&#xff0c;但是没有实现到。后来想到一种比较笨的方法。局限性是只能这些表单元素只能在同个层面下才能切换。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><m…

sublime text3 tab键功能失效

选择首选项 -> 快捷键设置 出现下面编辑页 在右边添加下面一些设置&#xff08;记得要用逗号与前面内容分开&#xff09;&#xff1a; { "keys": ["tab"], "command": "reindent", "context":[{ "key": "…