如何仅在首次访问时显示 UI Tour/Guide
How to show UI Tour/Guide on first visit only
我正在使用 Laravel,但我想这是一个一般性的 UI/View 问题。
我想使用像 Shepherd 这样的库来展示用户 UI 的游览。我如何实现它以仅在第一次访问该页面时显示?
有没有比创建一个包含 user.id
和每页指南的 table 更好的解决方案?像这样:
------------------------------------------
| id | user_id | seen_page1 | seen_page2 |
------------------------------------------
| 1 | 5 | 0 | 0 |
------------------------------------------
| 2 | 6 | 1 | 0 |
------------------------------------------
...
我只关心每次访问时必须进行的额外查询。
是的,使用 localStorage 是一个选项。
if (!localStorage.getItem('viewed')){
tour.start();
localStorage.setItem('viewed','yes');
}
我最终使用了@MinaAbadir 的建议。以下是操作指南:
- 我正在使用 Laravel Generators 创建我的支点 table
- 运行
php artisan make:migration page
和 php artisan make:migration:pivot pages users
- 现在您可以
$user->pages->contains($user);
并将 return 值传递给您的视图。
- 和 运行
$user->pages()->attach($page);
一旦 guide/tour 已显示页面
我觉得这比存储一整行 0
和 1
或将其存储在客户端要好。
聚会很晚了,但我写了一个简单的教程,介绍如何只显示一次游览。它的灵感来自@ryderpro 的回答(使用 localStorage
),但它也可以考虑用户是否实际与游览互动(已完成或取消):How to Display Shepherd.js Only Once
我正在使用 Laravel,但我想这是一个一般性的 UI/View 问题。 我想使用像 Shepherd 这样的库来展示用户 UI 的游览。我如何实现它以仅在第一次访问该页面时显示?
有没有比创建一个包含 user.id
和每页指南的 table 更好的解决方案?像这样:
------------------------------------------
| id | user_id | seen_page1 | seen_page2 |
------------------------------------------
| 1 | 5 | 0 | 0 |
------------------------------------------
| 2 | 6 | 1 | 0 |
------------------------------------------
...
我只关心每次访问时必须进行的额外查询。
是的,使用 localStorage 是一个选项。
if (!localStorage.getItem('viewed')){
tour.start();
localStorage.setItem('viewed','yes');
}
我最终使用了@MinaAbadir 的建议。以下是操作指南:
- 我正在使用 Laravel Generators 创建我的支点 table
- 运行
php artisan make:migration page
和php artisan make:migration:pivot pages users
- 现在您可以
$user->pages->contains($user);
并将 return 值传递给您的视图。 - 和 运行
$user->pages()->attach($page);
一旦 guide/tour 已显示页面
我觉得这比存储一整行 0
和 1
或将其存储在客户端要好。
聚会很晚了,但我写了一个简单的教程,介绍如何只显示一次游览。它的灵感来自@ryderpro 的回答(使用 localStorage
),但它也可以考虑用户是否实际与游览互动(已完成或取消):How to Display Shepherd.js Only Once