2012-06-07 108 views
1

当人们输入我的网址时,我希望他们点击北卡罗莱纳州或弗吉尼亚州。点击后,它会将它们重定向到www.myurl.com/nc或www.myurl.com/va。他们回答这个问题后,他们下次访问我的网站时,它会将它们重定向到适当的页面,而无需再次点击NC或VA。这是迄今为止我所拥有的。我觉得我很接近,但我真的不知道我在做什么。Javascript Cookie重定向

<!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

查看http://jsbeautifier.org/ – jbabey

+0

下次再添加已经格式化的代码,没有人会浪费10分钟,只是为了_understand_实际上写了什么.. :) – Asif

回答

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已设置,则使用与上述函数中相同的方法重定向用户。

+0

非常感谢。这非常有帮助 – dkype