<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>cookie</title> </head> <body> <?php setcookie('php_cookie','php_cookie'); echo isset($_COOKIE['js_cookie'])?$_COOKIE['js_cookie']:'暂无'; //echo $_COOKIE['js_cookie']??'暂无'; ?> <hr> <script type="text/javascript"> var Cookies = {}; /** 设置Cookies */ Cookies.set = function(name, value){ var argv = arguments; var argc = arguments.length; var expires = (argc > 2) ? argv[2] : null; if(expires != null){ var exp = new Date(); exp.setTime(exp.getTime() + 8*3600 + expires); } //alert(exp.toGMTString()); var path = (argc > 3) ? argv[3] : '/'; var domain = (argc > 4) ? argv[4] : null; var secure = (argc > 5) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + exp.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); }; /** 读取Cookies */ Cookies.get = function(name){ var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; var j = 0; while(i < clen){ j = i + alen; if (document.cookie.substring(i, j) == arg) return Cookies.getCookieVal(j); i = document.cookie.indexOf(" ", i) + 1; if(i == 0) break; } return null; }; /** 清除Cookies */ Cookies.clear = function(name) { if(Cookies.get(name)){ var expdate = new Date(); expdate.setTime(expdate.getTime() - (86400 * 1000 * 1)); Cookies.set(name, "", expdate); } }; Cookies.getCookieVal = function(offset){ var endstr = document.cookie.indexOf(";", offset); if(endstr == -1){ endstr = document.cookie.length; } return unescape(document.cookie.substring(offset, endstr)); }; /**-----------------------------------------------*/ Cookies.set('js_cookie','js_cookie'); document.write(Cookies.get('php_cookie')); </script> </body> </html>
第一次执行结果:
第二次执行结果:
-------------------------------------------
tips:
js读取php的中文cookie需要 "decodeURIComponent (escape( )) "函数处理
php读取js的中文cookie需要 "unescape( )" 函数处理
----------------------------------------------
如果只是要在js中使用,可以用下面的方法:
1,localStorage.setItem("cookie", 123);//保存cookie 2,localStorage.getItem("cookie");//获取cookie值 3,localStorage.removeItem("cookie");//清除cookie值