创建一个cookie,在第一次会话访问时保存新的主页位置

时间:2014-06-21 19:57:51

标签: javascript php jquery cookies

我尝试设置以下用户流程:

  1. 用户点击"保存我的教科书"保存cookie的链接 提供他们的cookie保存的提醒
  2. 当该用户随后访问主页时,jQuery会检查该值的值 cookie是(或者如果存在)。 cookie的值应与他们保存的相应教科书相对应。
  3. 如果cookie存在,则会将其重定向到与该书相对应的网址
  4. 仅当用户访问第一个主页时才会发生这种情况 该会议期间的时间
  5. 如果用户浏览网站并返回主页,则不应重定向。但是,如果用户关闭浏览器并重新打开网站,则应重定向
  6. 对于Cookie,我使用此插件:https://github.com/carhartl/jquery-cookie

    这是HTML:

    <a href="http://maccy.local:5757/core-connection-1">
      <span class="thumb">
        <img width="150" height="150" src="http://maccy.local:5757/wp-content/uploads/2014/06/400x400.jpeg" class="attachment-thumbnail wp-post-image" alt="400x400">
      </span>
    </a>
    <a class="save-textbook-cc1" href="#">Save this as my book</a>
    
    <a href="http://maccy.local:5757/core-connection-2">
      <span class="thumb">
        <img width="150" height="150" src="http://maccy.local:5757/wp-content/uploads/2014/06/400x400.jpeg" class="attachment-thumbnail wp-post-image" alt="400x400">
      </span>
    </a>
    <a class="save-textbook-cc2" href="#">Save this as my book</a>
    

    以下是我使用的jQuery,当然它不起作用:

    $(function() {
        var COOKIE_NAME = 'textbook-cookie'; /* create cookie */
        var VISITED = 'visited' /* track where user has landed */
    
        $( ".save-textbook-cc1" ).click(function() {
          $.cookie(COOKIE_NAME, 'cc1', { expires: 7, path: '/index.php' });
          alert("Textbook Saved as CC1!")
          $.cookie(VISITED, 'no', { expires: 7, path: '/index.php' });
        });
        $( ".save-textbook-cc2" ).click(function() {
          $.cookie(COOKIE_NAME, 'cc2', { expires: 7, path: '/index.php' });
          alert("Textbook Saved as CC2!")
          $.cookie(VISITED, 'no', { expires: 7, path: '/index.php' });
        });
    
        $go = $.cookie(COOKIE_NAME);
        $visited = $.cookie(VISITED);
        if ($go == 'cc1' ) AND ($visited == 'no') {
            window.location = "/core-connection-1";
            $.cookie(VISITED, 'yes', { expires: 7, path: '/index.php' });
        }
        elseif ($go == 'cc2' ) AND ($visited == 'no') {
            window.location = "/core-connection-2";
            $.cookie(VISITED, 'yes', { expires: 7, path: '/index.php' }); {
        }
        else {
        }
    });
    

1 个答案:

答案 0 :(得分:0)

为什么不用PHP做这个?

  1. 设置Cookie
  2. 检查cookie&amp;引荐
  3. 如果引荐来源不是来自同一个域且已设置了cookie,则重定向到相应的页面。如果引荐来自同一个域,只需显示主页:)
  4. 查看PHP.net如何使用PHP设置cookie: http://www.php.net/manual/en/function.setcookie.php 或者在W3Schools上 http://www.w3schools.com/php/php_cookies.asp

    P.S。如果你真的想用javascript做这个,请详细说明“它不工作”-bit请:)