Управление плеером курса внутри курса

Websoft HCM
Разберемся как внутри курса переключиться на следующий модуль или закрыть курс вместе с плеером курсов.

Гайд актуален для владельцев новой версии WT с плеером курсов 2021.
За помощь в поиске решения спасибо Андрею! (@Support.WebSoft)

Проблема

Хочется уйти от таких стандартных всплывающих окон и дать возможность пользователю переключаться между модулями курсов или закрывать сам курс по кнопке в курсе.

Еще у некоторых пользователей бывает проблема, что при нажатии на кнопку выхода сам курс закрывается, но плеер остается жить и вместо пройденного модуля выдается страница 404 или goodbye.html.

Решение проблемы

Используйте JS код на кнопках. Для большинства редакторов курсов это не является проблемой.

//Переключить на следующий модуль
const playerApp = window.parent.document.querySelector('#app');
if (playerApp !== null) playerApp.__vue__.$store.dispatch('learning/goNextPart');

//Закрыть вкладку с курсом
const playerApp = window.parent.document.querySelector('#app'); if (playerApp !== null) playerApp.__vue__.$store.dispatch('app/close');

//Закрыть вкладку с курсом и сделать редирект:
const playerApp = window.parent.document.querySelector('#app'); if (playerApp !== null) playerApp.__vue__.$store.dispatch('app/redirect', "https://ya.ru");

//Завершить курс (Пройден/Не пройден будет зависеть от настроек условий успешного прохождения)
const playerApp = window.parent.document.querySelector('#app'); if (playerApp !== null) playerApp.vue.$store.dispatch('learning/finishCourse);

Как быть тем, у кого iSpring?

Очень просто. На кнопку повесьте действие «Выполнить программу» и в пустое поле вписываете javascript:код_нужного_действия. Пример ниже.

javascript:const playerApp = window.parent.document.querySelector('#app'); if (playerApp !== null) playerApp.__vue__.$store.dispatch('learning/goNextPart');

Если вы опубликовали курс и закрыли исходник курса, то при повторном открытии исходника JS код нужно вставить снова. iSpring или PP не может запомнить такую длинную строку и обрезает ее. Для вашего удобства разместите JS код за пределами слайда и оттуда его копируйте в кнопку.

Ваша кнопка перестанет работать при повторной публикации курса если вы забудете обновить код на ней в исходнике.

Альтернативное решение

Бывают ситуации, когда нет исходника или возможности его отредактировать. Тогда можно посмотреть в консоли что курс пытается открыть после нажатия на кнопку завершения. Часто курсы пытаются открыть файл goodbye.html. В случае айспринга это путь: папка курса\res\data\goodbye.html. В таких случаях можно найти в скорме или на сервере такой файл закинуть туда скрипт со следующим кодом.

<script type="text/javascript">
    <!—Здесь вставляем необходимый нам код: закрытие, переход на следующий модуль, редирект-->
</script>

Поделиться с друзьями
Скормите это LMS