javascript - 如何使用 Javascript 检测用户在我的网站中的首次访问?
问题描述
我在页面上有一个带有导游的 React 应用程序,但是当用户在注册后访问该功能时,我使用 localStorage 将 firstAccess 键设置为 true,但我认为可以有更有效的方法来获取有关第一次访问的信息用户,使用用户代理的东西可能吗?问题是,知道用户是否是第一次访问的常用方法是什么?我可以用一个简单的 Javascript 代码得到这个吗?
当 localStorare 上的 key firstAccess 等于“true”时,游览开始,但问题是我在完成游览时将此键设置为 false,但其他页面需要显示自己的游览,但密钥设置为 false这次。
我正在使用它开始游览:
localStorage.setItem("newUser", true);
但是这个key是在用户注册后设置的,在其他页面使用:
function userRegistered() {
const auxStorage = localStorage.getItem("newUser");
if (auxStorage === "true") {
setTourRun(true);
}
}
游览结束后,我将 key 设置为 false:
function cancelTour() {
setTourRun(false);
localStorage.removeItem("newUser");
}
因为这个我不能在其他旅游页面中使用这个相同的键。
预期的结果是我可以识别每个页面中的第一次使用并开始每个页面的单独浏览。
解决方案
我不知道您所说的效率是什么意思...本地存储效率很高。但是,我认为你应该反过来考虑这个问题。
首次访问时本地存储将是空的,因此请在完成检查后设置您的本地存储项。
if (!localStorage.getItem('previouslyVisited')) {
runTour();
localStorage.setItem('previouslyVisited', 'true');
}
推荐阅读
- python - 如何在 Jupyter notebook 中工作时从虚拟环境中导出 .csv 文件
- python - 熊猫查询是否采用变量名称?
- python - 将属性添加到 Python TypedDict
- python - 在sklearn中覆盖自定义变压器的预测功能
- tensorflow - 如何在 keras 中自定义这种循环神经网络
- android - Unity.Android 我想加密 apk 文件中的 assets/bin/data。但是找不到资源
- html - 同时查看页面上所有元素的框模型?
- flutter - 如何在颤动的警报对话中初始化 SetState()?
- docker - Kubernetes 上的 Spark:Executor pod 在创建 sparkContext 时无法启动
- spring - webflux:内部事件总线和异步,松散耦合的事件监听器