我想跟踪用户访问我的网站/域的次数 . 例如,假设我想在第10次访问网站后向用户显示一条消息 . 每个页面加载不应被视为新访问 . 在这种情况下访问更像是一个会话 . 一次性浏览所有你想要的东西,这是一次访问 . 关闭浏览器并返回,这是第二次访问 .
我认为通过使用localStorage和sessionStorage来做这件事会很好 . 我在sessionStorage中添加了一个值,以显示用户在“currentVisit”上,这样我就不会在每个页面加载上计算它们 . 这会在会话结束时消失 . 然后我在localStorage中有一个值,用于计算用户访问的总访问量“visitCount” . 如果用户加载页面并且没有“currentVisit”值,请给它们一个并增加“visitCount” .
我担心使用本地/会话存储,因为我读过它并不是所有浏览器都支持,特别是移动浏览器 .
我正在考虑在我的方法中使用indexedDB代替localStorage和session cookie来代替sessionStorage . 您认为这项工作的正确工具是什么?
1 回答
在使用polyfill as I mentioned above时,您可以定义一个这样的简单函数来跟踪用户's visits assuming they'不是处于隐身或隐私浏览模式,并且它们不会清除或禁用您网站的Cookie:
如果您关注信任客户端存储的任何警告(例如,安全性),那么您应该使用服务器端解决方案和browser fingerprinting脚本以更健壮的方式跟踪匿名访问 .