1

我正在为一家销售啤酒的欧盟公司建立一个网站,并且需要一个年龄验证启动画面。这很容易,我已经有了一个。我在页眉中使用了一个轻量级的 cookie 插件(在优秀的 ht​​tp: //microjs.com上可以找到cookie.js)。这或多或少是我的设置:

JS(在<head>元素中)

if (cookie.get("agechecked")) {
    document.documentElement.className += " agechecked";
}

CSS

.agechecker { display: block; width: 100%; height: 100%; ... } 
.agechecked .agechecker { display: none };

可悲的是,对于少数游客来说,年龄检查不能正常工作。有些人无法通过它,对于其他人来说,它会在每次页面加载后弹出,而对于某些人来说,cookie 只是不起作用,这意味着“记住我”复选框对他们来说已损坏。我想使用替代路线至少确保年龄检查不会阻止任何人完全查看该网站。

我只有 javascript 可供我使用,不想使用 cookie。因为我很确定会话的等价物是浏览器关闭后过期的 cookie - 所以这将我的选择限制为......是的,什么?

我正在考虑的替代方案:

  • jStorage - 但这依赖于 jQuery 或 Prototype 等框架,这意味着我必须在页面标题中加载 jQuery。那不行;
  • window.name方法结合 JSON 将数据存储在 windowname属性中,这对我的口味来说有点太 hacky,并且也不会延续到其他选项卡
  • 我可以检查推荐人(访问者是否已经在该域的另一个页面上?)这是他/她通过年龄检查的 90% 保证

我在 stackoverflow 上找不到任何真正有用的信息,但我相信你们中的一些人已经建立了年龄验证。你是如何解决这些问题的?

(编辑:我知道,我应该构建一个实际发布到服务器的表单,我可以在其中以无数不同的方式存储和检索信息,但只要从我这里拿走我就必须依赖 javascript。无能为力)

4

2 回答 2

2

HTML5 webstorage ( localStorage) 是一种客户端持久性机制。有关浏览器兼容性,请参阅http://caniuse.com/#feat=namevalue-storage

于 2012-07-20T13:37:50.957 回答
1

我阅读了您的问题,因为您需要一种在不使用 cookie 的情况下跨网页保持状态的方法。这里有几个选择:

于 2012-07-20T13:43:14.120 回答