如何在第一次演练后停止触发introjs?

时间:2016-03-12 20:46:31

标签: javascript jquery ruby-on-rails ruby intro.js

我正在使用 introjs

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

有没有办法只为每个用户显示一次演练?

例如我知道当用户首次登录我的网站时,会弹出 introjs 。我只想让它出现在最初的欢迎中。

潜在解决方案

  1. 也许有一种方法可以通过创建操作触发 introjs ,就像闪存消息一样?
  2. 我可以将我的所有标题,侧边栏和挑战部分代码复制到pages / tutorial.html.erb并制作一条路线www.websitename.com/tutorial,但那将是很多代码要复制然后每当我在网站上更改了一些内容,我必须在教程中更改它。
  3. 有没有办法在application.js中调整此javascript方法,每个用户$(function () { introJs().start() })只能触发一次?
  4. 我只是对演练的每一步使用data-intro=""

1 个答案:

答案 0 :(得分:3)

您希望您的应用程序/网页记住用户已经完成了您的教程。

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

要点是,在用户完成或以其他方式退出教程后,您可以使用上述方法之一将描述性值存储到用户的客户端,并且在页面加载时,您应首先检查此值是否存在,相应地采取行动。

编辑:正如评论中所提到的,您还需要一种服务器端方法。