Могу ли я использовать несколько 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>
Это может быть не самый хороший код когда-либо:), но (как сказал Рич) без дополнительной информации, я могу только догадываться, это то, что вы хотите сделать? Но, надеюсь, это даст общее представление.
Мне удалось использовать intro.js для сложного многостраничного использования (более полного, чем их официальный многостраничный пример ). См. я открыл по этому поводу, связанную с Проблему, которуюмоим решением React, на Codesandbox .