【问题标题】:jQuery Cookie Age Verification?jQuery Cookie 年龄验证?
【发布时间】:2014-08-23 09:06:08
【问题描述】:

我正在开发一个啤酒网站,并试图让它在使用 jQuery Cookie 加载网站时进入年龄验证页面。

年龄页面有一个简单的 Yes 来接受 cookie,No 让你离开网站,我的代码是:

if(!$.cookie('legal-age')){
    window.location = '/age-verify/';
}

// Button
$("a#v-yes").click(function() {
    $.cookie('legal-age','yes', {expires: 7, path: '/'});
    window.location = '/';
    return false;
});

我遇到的问题是当网站加载时它会转到请求的页面但不断刷新。

知道如何让它进入该页面并保持不刷新吗?

谢谢,

TJ.

【问题讨论】:

  • 它应该真的有效吗?!没有例子很难看到。您在我们可以帮助调试的任何地方都有演示吗?
  • 感谢您,但由于无法“摆弄”javascript,因此很难正确调试,我强烈怀疑这是因为您在“年龄验证”页面上运行相同的脚本,并且cookie(在登陆“age-verify”时尚未设置)使 if 失败并将其发送到永恒循环中。您是否尝试过我的以下建议?

标签: jquery jquery-cookie


【解决方案1】:

更改window.location 将重新加载页面。

尝试更改window.location.hash 而不是window.location

【讨论】:

  • 似乎不起作用,它只是打开主页,将 url 修改为 /#/age-verify/ 并且不会重定向到 /age-verify/ 页面。
【解决方案2】:

从您对@Filip Bartuzi 的上述评论来看,

尝试将您的第一个 if 更改为此或其变体,具体取决于您的路径等。

if(typeof($.cookie('legal-age')) === 'undefined' && window.location.pathname != '/age-verify'){
    window.location = '/age-verify/';
}

【讨论】:

    【解决方案3】:

    我怀疑您在重定向到的页面上错误地包含了相同的代码。

    确保不包含

    if(!$.cookie('legal-age')){
        window.location = '/age-verify/';
    }
    

    age-verify 页面上,只有按钮事件处理程序。

    【讨论】:

    • 感谢您,我在网站上使用了相同的包含标题,因此在该页面上加载该脚本导致它刷新。
    • 这是某种缝合吗?来自格拉斯哥和巨魔其他人的答案!? stackoverflow.com/questions/16460835/…
    • @RobSchmuecker 哈哈不,他是我的兄弟,只是把他的 stackoverflow 问题的链接发给我。
    • 为您的帮助干杯 @RobSchmuecker 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多