【问题标题】:Nuxt: Show splash animation once per sessionNuxt:每个会话显示一次启动动画
【发布时间】:2020-12-27 12:43:18
【问题描述】:

我是 Nuxt 的新手,我想在第一次访问我的网站时向用户展示大约 2 秒的全屏动画 gif。

我假设我可以使用 cookie 来跟踪向谁显示动画屏幕,但我不知道从哪里开始。我的搜索不断提出有关 pwa 和 ios 和 android 的内容,但我主要对在桌面上显示我的动画屏幕感兴趣。

我很乐意显示全屏动画,但我真正想知道的是:

我如何才能简单地判断这是否是用户今天的第一个会话?如果是他们的第一次会议,请向他们展示动画。

【问题讨论】:

标签: javascript vue.js nuxt.js netlify prismic.io


【解决方案1】:

您可以使用localeStorage 来存储用户上次访问您网站的日期时间。这是一种在客户端存储数据的简单方法。与 cookie 不同,它无法从服务器端访问。

然后,将你的逻辑放入layouts/default.vue,例如:

// layouts/default.vue

mounted() {
  const lsKey = "lastVisitDate";
  const lastVisitDate = localStorage.getItem(lsKey)

  if (/* if lastVisitDate was yesterday or before*/) {
    localStorage.setItem(lsKey, new Date());
    // Display animation 
  }
}

如果您谈论的是真实会话(在用户保持浏览器打开时持续),请改用sessionStorage

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 2017-03-12
    相关资源
    最近更新 更多