js设置cookie非常简单,但是读取cookie的时候,非常的麻烦,因为它一次性获取所有的cookie,而且,将值和名称都获取了,比如,获取“name”对应的cookie值,使用document.cookie,会得到类似:“name=静态网页模板”的格式。如果能像php那样,只需要传递一个cookie的名称,就能得到该名称对应的cookie的值,就好了。
下面是我爱模板网整理的创建、获取、删除cookie的js函数,而且做好了自动转码功能,传递中文英文都没有任何问题,使用js cookie也变的如此简单:
02 | function setCookie(name, value, expires, path, domain, secure) { |
03 | var cookieText = encodeURIComponent(name) + '=' + encodeURIComponent(value); |
04 | if (expires instanceof Date) { |
05 | cookieText += '; expires=' + expires; |
08 | cookieText += '; expires=' + expires; |
11 | cookieText += '; domain=' + domain; |
14 | cookieText += '; secure' ; |
16 | document.cookie = cookieText; |
01 | //获取cookie,只需要输入想要获取的cookie名称,即可得到对应的值: |
02 | function getCookie(name) { |
03 | var cookieName = encodeURIComponent(name) + '='; |
04 | var cookieStart = document.cookie.indexOf(cookieName); |
05 | var cookieValue = null; |
06 | if (cookieStart > -1) { |
07 | var cookieEnd = document.cookie.indexOf(';', cookieStart); |
08 | if (cookieEnd == -1) { |
09 | cookieEnd = document.cookie.length; |
11 | cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd)); |
2 | function unsetCookie(name) { |
3 | document.cookie = name + "= ; expires=" + new Date(0); |
02 | function setCookieDate(day) { |
03 | if (typeof day == 'number' && day > 0) { |
04 | var date = new Date(); |
05 | date.setDate(date.getDate() + day); |
07 | throw new Error('传递的day必须是一个天数,必须比0大'); |
本文转载自:
合肥网站建设