- player.GetVar – для получения значения переменных, созданных в текущем курсе;
- player.SetVar – для изменения значения переменных, созданных в текущем курсе.
<script LANGUAGE="JavaScript1.2" SRC="story_content/MyJavaScriptFunctions.js" TYPE="text/javascript"></script>
Рецепты кода
Ниже представлены рецепты кода для Articulate Storyline 3 и 360.Присваиваем переменной значение текущей даты
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
var dateString=day + "." + month + "." + year
var player = GetPlayer();
player.SetVar("SystemDate",dateString);
Всплывающее окно (только текст)
alert("Your message here...");
Всплывающее окно (текст и переменная из Storyline)
var player = GetPlayer();
alert("Welcome back, " + player.GetVar("FirstName") + ".");
Напечатать текущий слайд (только HTML5)
window.print();
Если использовать только этот код, вы напечатаете слайд полностью и плеер Storyline.
Если хотите распечатать только содержимое слайда без плеера, используйте более сложный код:
if (document.location.href.indexOf('html5') < 0) {
GetPlayer().printSlide()
} else {
if(!window.hasPrintStyle){
window.hasPrintStyle = true;
var css = "@media print {div.controls.grid-row.inflexible,div.area-secondary.cs-left.inflexible,header.header-primary.centered-title.extended-height,div.presentation-wrapper:after {display:none !important; visibility:hidden !important;}}";
head = document.head || document.getElementsByTagName('head')[0];
style = document.createElement('style');
style.type = 'text/css';
if (style.styleSheet){
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
head.appendChild(style);
}
window.print();
}
Создать новое сообщение электронной почты
var email="yourAddress@email.com";
var subject="subject line";
var body_start="How you want to begin your body.";
var mailto_link='mailto:'+email+'?subject='+subject+'&body='+body_start;
win=window.open(mailto_link,'emailWin');
Автоматическая прокрутка веб-страницы до нужных координат
window.scroll(0,150); // горизонтальные и вертикальные координаты
Автоматическая прокрутка веб-страницы относительно текущей позиции
window.scrollBy(0,150); // сколько пикселей прибавить к текущей позиции
Поменять цвет фона за пределами плеера
parent.document.body.style.backgroundColor = "#990000";
Поменять фоновое изображение за пределами плеера
Расположите файл image.jpg в корневой папке опубликованного курса и добавьте следующий код:parent.document.body.style.backgroundImage = "url('image.jpg')";
parent.document.body.style.backgroundSize = "cover";
parent.document.body.style.backgroundRepeat = "no-repeat";
Генератор случайных чисел
В этом примере генерируется случайное число от 1 до 10.var randomnumber = Math.floor((Math.random()*10)+1);
var player = GetPlayer();
player.SetVar("randnum",randomnumber);
Итак, с помощью JavaScript мы можем добиться гораздо более широкого функционала Articulate Storyline. Перечисленные выше инструменты – это только малая часть того, что можно получить, если выйти за рамки стандартного функционала программы. Однако необходимо помнить, что время от времени разработчики веб-браузеров меняют политики безопасности и могут, к примеру, запретить выполнение скриптов в локальном режиме (такое уже случалось с Google Chrome). В такой ситуации необходимо использовать другой браузер или выгружать курс в LMS. Кроме того, отнюдь не всегда стоит стремиться заменить стандартный функционал скриптами (фанаты такого подхода тоже имеются), поскольку в случае ошибок или некорректной работы, вызванной JavaScript, Articulate отказывается оказывать помощь (их можно понять). В статье использовались примеры из статьи "Storyline 3: JavaScript Best Practices and Examples" (https://articulate.com/support/article/Storyline-3-JavaScript-Best-Practices-and-Examples)