javascript - 仅使用 javascript 不使用 cookie : how? 进行年龄验证

标签 javascript cookies

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

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。因为我非常确定与 session 等效的是在浏览器关闭后过期的 cookie - 所以这将我的选择限制为......是的,什么?

我正在考虑的备选方案:

  • > jStorage - 但这依赖于 jQuery 或 Prototype 等框架,这意味着我必须在页眉中加载 jQuery。那不行;
  • window.name方法,结合JSON在窗口中存储数据name属性,这对我来说有点太老套了,而且也不会转移到其他标签页
  • 我可以检查引荐来源网址(访问者是否已经在该域的另一个页面上?)这是他/她通过年龄检查的 90% 保证

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

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

最佳答案

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

关于javascript - 仅使用 javascript 不使用 cookie : how? 进行年龄验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11580443/

相关文章:

javascript - 使用 JavaScript 设置 HTML5 输入列表值

javascript - 当我运行包含他的 JS 时,一个元素会跳起来

c# - HtmlPage.Document.Cookies 为空

php - 浏览器如何知道在请求时向服务器发送哪些 cookie?

javascript - JSDoc中如何注解 "@readonly-but-modified-internally"成员/属性?

javascript - 允许国际字符的弹出式虚拟键盘

javascript - 为什么我的 Async 和 Await 仍然没有完成序列执行的工作

javascript - 广告横幅在浏览器 session 中只显示一次

javascript - 如何阻止或删除第三方 cookie

java - 在 HTTPServlet doPost() 中将 maxage(0) 设置为 cookie 并且重定向不起作用