一个cookie代码,它具有以下功能

时间:2011-10-29 13:25:32

标签: javascript cookies redirect if-statement

首先,我希望有一个简单的代码,例如创建一个名为“x”的cookie,另一个代码放在其他html中,创建一个名为“y”的cookie。然后,在另一个html文件中,一些代码检查是否存在以前的cookie并且:

  • 如果有一个名为“x”的先前cookie,则重定向到例如x.com页面。
  • 如果有一个名为“y”的先前cookie,则重定向到其他页面,例如y.com。
  • 如果没有以前的Cookie,则不执行任何操作。

最终代码是: 创建cookie用户名en:

<script type="text/javascript">
  var cookieDate = new Date(2012, 5, 02)
  document.cookie = "username=en;expires=" + cookieDate.toGMTString();
</script>

创建cookie用户名es:

<script type="text/javascript">
      var cookieDate = new Date(2012, 5, 02)
      document.cookie = "username=es;expires=" + cookieDate.toGMTString();
    </script>

读取cookie并转到x.com,如果它与cookie的值为en并转到y,如果值为es(如果没有cookie则不执行任何操作):

<script type="text/javascript">
  function get_cookie (username)
  {
    var results = document.cookie.match(username + '=(.*?)(;|$)');

    if (results[1] == "en")
      location.replace("http://x.com");
    if (results[1] == "es")
      location.replace("http://y.com");    
    else
      return null;
  }

  get_cookie('username');
</script>

1 个答案:

答案 0 :(得分:1)

您的代码似乎定义了重定向功能,但我看不到您调用重定向功能的位置。

设置cookie应如下所示:

<script type="text/javascript">
  var cookieDate = new Date(2012, 5, 02)
  document.cookie = "username=en;expires=" + cookieDate.toGMTString();
</script>

像这样检索cookie值:

<script type="text/javascript">
  function get_cookie (username)
  {
    var results = document.cookie.match(username + '=(.*?)(;|$)');

    if (results[1] == "en")
      location.replace("http://x.com");
    if (results[1] == "es")
      location.replace("http://y.com");    
    else
      return null;
  }

  get_cookie('username');
</script>