我正在使用introjs

但是,当用户结束介绍,然后刷新页面时,introjs再次启动。

有没有一种方法只能对每个用户显示一次演练?

例如,当用户首次登录我的网站时,它就会弹出-introjs会弹出。我只希望它为最初的欢迎而弹出。

潜在解决方案

  • 也许有一种方法可以通过create操作来触发introjs,就像带有Flash消息一样?
  • 我可以将我所有的标题,侧边栏和挑战部分代码复制到pages / tutorial.html.erb中,并进行路由www.websitename.com/tutorial,但是那样一来,要复制的代码很多,然后每当我更改时网站上的某些内容我也必须在教程中进行更改。
  • 是否可以调整application.js中的此javascript方法,使其每个用户$(function () {introJs().start() })仅触发一次?

  • 我仅对本演练的每个步骤使用data-intro=""

    最佳答案

    您希望您的应用程序/网页记住该用户已经阅读了您的教程。

    有几种方法可以做到这一点。首先,您可以使用cookieslocalStorage

    要点是,在用户完成操作或退出教程之后,可以使用上述方法之一将描述性值存储到用户的客户端,并且在页面加载时,首先应检查该值是否存在并采取相应措施。

    编辑:如评论中所述,您也将需要服务器端方法。

    关于javascript - 第一次演练后如何停止触发Introjs?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35963107/

    10-09 19:47