文章标题:用JavaScript操作cookie
写入和读取Cookie是一种常见的功能,可惜JavaScript对此的直接支持并不算完善,下面是几个操作Cookie的函数,用起来还是蛮方便的。 www.444p.com
JavaScript代码
- // utility function to retrieve an expiration date in proper
- // format; pass three integer parameters for the number of days, hours,
- // and minutes from now you want the cookie to expire (or negative
- // values for a past date); all three parameters are required,
- // so use zeros where appropriate
- function getExpDate(days, hours, minutes) {
- var expDate = new Date( );
- if (typeof days == "number" && typeof hours == "number" &&
- typeof hours == "number") {
- expDate.setDate(expDate.getDate( ) + parseInt(days));
- expDate.setHours(expDate.getHours( ) + parseInt(hours));
- expDate.setMinutes(expDate.getMinutes( ) + parseInt(minutes));
- return expDate.toGMTString( );
- }
- }
- // utility function called by getCookie( )
- function getCookieVal(offset) {
- var endstr = document.cookie.indexOf (";", offset);
- if (endstr == -1) {
- endstr = document.cookie.length;
- }
- return unescape(document.cookie.substring(offset, endstr));
- }
- // primary function to retrieve cookie by name
- function getCookie(name) {
- var arg = name + "=";
- var alen = arg.length;
- var clen = document.cookie.length;
- var i = 0;
- while (i < clen) {
- var j = i + alen;
- if (document.cookie.substring(i, j) == arg) {
- return getCookieVal(j);
- }
- i = document.cookie.indexOf(" ", i) + 1;
- if (i == 0) break;
- }
- return "";
- }
- // store cookie value with optional details as needed
- function setCookie(name, value, expires, path, domain, secure) {
- document.cookie = name + "=" + escape (value) +
- ((expires) ? "; expires=" + expires : "") +
- ((path) ? "; path=" + path : "") +
- ((domain) ? "; domain=" + domain : "") +
- ((secure) ? "; secure" : "");
- }
- // remove the cookie by setting ancient expiration date
- function deleteCookie(name,path,domain) {
- if (getCookie(name)) {
- document.cookie = name + "=" +
- ((path) ? "; path=" + path : "") +
- ((domain) ? "; domain=" + domain : "") +
- "; expires=Thu, 01-Jan-70 00:00:01 GMT";
- }
- }
本文来自 www.444p.com
将上面的几个js命名为cookie.js,下面演示其基本用法
www.444p.com版权所有
XML/HTML代码
- <script type="text/javascript" src="cookie.js"></script>
- <script type="text/javascript">
- function foo()
- {
- var name = document.getElementById("name").value;
- if(name)
- {
- setCookie("name",name);
- }
- document.getElementById("show").innerHTML+=("NEWEST NAME :"+ getCookie("name") + "<br>");
- }
- </script>
- Chapter 1.9 example
- <br>
- <input type="text" id="name" size="20" />
- <input type="button" value="setCookie" onclick="foo()" />
- <div id="show"></div>
责任编辑:semirock