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等等。
以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍JS封装cookie操作函数实例(设置、读取、删除),包括了JS封装cookie操作函数实例(设置、读取、删除)的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS封装cookie操作函数。分享给大家供大家参考,具体如下: 希望本文所述对大家JavaScript程序设计有所帮助。
本文向大家介绍js读取cookie方法总结,包括了js读取cookie方法总结的使用技巧和注意事项,需要的朋友参考一下 本文实例总结了js读取cookie方法。分享给大家供大家参考。具体实现方法如下: 一般关于js读取cookie方法有很多,我们下面的实例函数主要是利用split函数来分切,和document.cookie获取所有cookie再利用for遍历所有数组,判断如果cookie名相同,那
问题内容: 我试图根据我在HTML中选择的CSS文件来设置Cookie。我有一个带有选项列表的表单,以及不同的CSS文件作为值。当我选择一个文件时,应将其保存到Cookie大约一周。下次打开HTML文件时,它应该是您选择的上一个文件。 JavaScript代码: HTML代码: 问题答案: 我发现以下代码比其他任何代码都简单得多: 现在,调用函数
可以通过document.cookie直接读取cookie的内容: var strCookie = document.cookie; 此时,strCookie是一个由该域名下的所有cookie的名/值对所组成的字符串,名/值对间以“分号加空格”分隔。为了方便查看,可以使用split()方法将cookie中的名/值对解析出来,得到一个cookie的列表。然后,再使用相应的解码方式,把cookie
问题内容: 如何使用jQuery设置和取消设置Cookie,例如创建一个名为的Cookie 并将其值设置为? 问题答案: 2019年4月更新 Cookie的读取/操作不需要jQuery,因此请不要使用下面的原始答案。 转到https://github.com/js-cookie/js-cookie,然后在其中使用不依赖jQuery的库。 基本示例: 有关详细信息,请参见github上的文档。 参见
为了保护应用免受CSRF攻击,我们从服务器端设置了一个名为XSRF-TOKEN的cookie。因此,从客户端代码,我们能够设置cookie和发送到服务器,但要验证CSRF在服务器端,我们需要发送头,同时发射'POST'服务调用。由于每个角文档自动$超文本传输协议通过读取cookie设置标题X-XSRF-TOKEN(请参考链接),但是Javascript代码无法读取cookie,尽管我们已经在同一域