Могу ли я использовать несколько intro.js с более чем 2 страницами?

Я хочу использовать intro.js с более чем двумя страницами. Это простой способ сделать это?

3 ответа

Да, ты можешь. Если вы посмотрите на код для примера intro.js с несколькими страницами https://github.com/usablica/intro.js/tree/master/example/multi-page вы увидите, что на первой странице есть код, который перенаправляет на вторую страницу после пользователь нажимает кнопку:

<script type="text/javascript">
  document.getElementById('startButton').onclick = function() {
    introJs().setOption('doneLabel', 'Next page').start().oncomplete(function() {
      window.location.href = 'second.html?multipage=true';
    });
  };
</script>

И на второй странице мы используем регулярные выражения, чтобы проверить, проходит ли пользователь вступление. Вам нужно будет добавить такой код на каждую страницу с URL-адресом на страницу, которая должна быть показана далее. Если вы хотите иметь более одного "потока ввода" (поскольку в заголовке вопроса указано multiple), вы можете дать им имена или номера. Затем вместо добавления multipage=true ты можешь использовать multipage=beta_version или же multipage=1 и используйте reqex, чтобы проверить, должен ли пользователь видеть вступление, и если да, то какой.

<script type="text/javascript">  
  if (RegExp('multipage', 'gi').test(window.location.search)) {

    document.getElementById('startButton').onclick = function() {
      introJs().setOption('doneLabel', 'Next page')
        .start().oncomplete(function() {
          if (RegExp('multipage=2', 'gi').test(window.location.search)) {
            window.location.href = 'third.html?multipage=2';
          }
          else {
            window.location.href = 'unicorn.html?multipage=3';
          }
        });
      };
  }
</script>

Это может быть не самый хороший код когда-либо:), но (как сказал Рич) без дополнительной информации, я могу только догадываться, это то, что вы хотите сделать? Но, надеюсь, это даст общее представление.

if (RegExp('multipage', 'gi').test(window.location.search)) { introJs().setOption('doneLabel', 'Next Page →').start().oncomplete(function() { window.location.href = 'nextpage?multipage=true'; }); }

Мне удалось использовать intro.js для сложного многостраничного использования (более полного, чем их официальный многостраничный пример ). См. я открыл по этому поводу, связанную с Проблему, которуюмоим решением React, на Codesandbox .

Другие вопросы по тегам