Javascript Cookie重定向

时间:2012-06-07 20:16:34

标签: javascript redirect cookies

当人们输入我的网址时,我希望他们点击北卡罗来纳州或弗吉尼亚州。点击后,它会将它们重定向到www.myurl.com/nc或www.myurl.com/va。在他们回答了这个问题后,下次他们访问我的网站时,会将其重定向到相应的页面,而无需再次点击NC或VA。这是我到目前为止所得到的。我觉得我很亲密,但老实说,我不知道我在做什么。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
   <title></title> 
</head>
<body> 
   <a href="#" onClick="window.location = "http://www.myurl.com/nc"" value="nc">North Carolina</a>
   <br />
   <br /> 
   <a href="#" onClick="window.location = "http://www.myurl.com/va"" value="va">Virginia</a> 
   <script type="text/javascript" src="script.js"></script> 
   <script type="text/javascript">
      function setCookie {
         document.body.style.state = size; 
         createCookie('state', size, 90);
      }
      var state = readCookie('state'); 
      if (state !== null)
      { 
         // cookie exists setCookie(state);
      } 
    </script> 
</body> 
</html>

我还有单独的脚本文件,其中包含以下代码:

// JavaScript Document 
function createCookie(name,value,days) {
    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 nameEQ = name + "=";
    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(nameEQ) == 0) 
           return c.substring(nameEQ.length,c.length);
    } 
    return null; 
} 
function eraseCookie(name) {
    createCookie(name,"",-1);
}

1 个答案:

答案 0 :(得分:1)

onClick="window.location = "http://www.myurl.com/nc""

是错误的,因为双引号内有双引号。使内部单引号(')。当用户点击链接时,它应该调用一个javascript函数,其中包含用户想要访问的网站的参数。

// state will be wither "nc" or "va"
function redirect(state) {
    createCookie('state', state, 90);
    window.location.href = "http://www.myurl.com/" + state;
}

将来,如果已经设置了cookie,请使用与上述函数相同的方法重定向用户。