记住cookie

时间:2012-12-27 05:32:48

标签: javascript

我想制作一个可以在netsoltech.com上保存我所选区域的cokkie,只要用户在地图上选择区域就可以保存cookie,当下次用户进入域时,自动转到第一次点击区域页面i制作此代码 但问题是当用户下次再来时,然后第一个区域选择页面出现,那么它可以刷新并转到区域页面..而不是自动...

<script>
/*
    Cookie script - Scott Andrew
    Popup script, Copyright 2005, Sandeep Gangadharan
*/

function newCookie(name,value,days) {
 var days = 10;   // the number at the left reflects the number of days for the cookie to last
                 // modify it according to your needs
 if (days) {
   var date = new Date();
   date.setTime(date.getTime()+(days*24*60*60*1000));
   var expires = "; expires="+date.toGMTString(); }
   else var expires = "";
   document.cookie = name+"="+value+expires+"; path=/"; }

function readCookie(name) {
   var nameSG = name + "=";
   var nuller = '';
  if (document.cookie.indexOf(nameSG) == -1)
    return nuller;

   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,c.length);
  if (c.indexOf(nameSG) == 0) return c.substring(nameSG.length,c.length); }
    return null; }

function eraseCookie(name) {
  newCookie(name,"",1); }

function toMem(region) {

    newCookie('region', region);    
    window.location= "http://www.netsoltech.com/"+region+"/index";
}


function remCookie() {

window.location= "http://www.netsoltech.com/"+readCookie("region")+"/index";

}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(function() {
  remCookie();
});


</script>

1 个答案:

答案 0 :(得分:0)

试试这个

function setCookie(c_name, value, exdays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;

    //redirect here
}

function getCookie(c_name) {
    var i, x, y, ARRcookies = document.cookie.split(";");
    for (i = 0; i < ARRcookies.length; i++) {
        x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
        y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
        x = x.replace(/^\s+|\s+$/g, "");
        if (x == c_name) {
            return unescape(y);
        }
    }
}

function checkCookie() {
    var region = getCookie("region");
    if (region != null && region != "") {
        alert("redirect to " + region); //replace this with redirect
    }
}

checkCookie();  //check this on page load

HTML

<a href="#" onclick="setCookie('region', 'europe', 365); return false;">europe</a>

<强>的jsfiddle

http://jsfiddle.net/YtF2B/6/