Converting and handling articulate Storyline 2 story to articulate Storyline 3



I have recently inherited project/web application which has Computer-Based Training built in Articulate Storyline 2.

At the end of the training, user must take an assessment and based on the score, a user is allowed to access the system or not.

There is a following JavaScript in asp page

<script type="text/javascript">
$(document).ready(function () {
var rerun = true;
var transfer = true;
var fn = function () {
var theFrame = window.frames["player_frame"];
if (theFrame && theFrame.GetPlayer) {
var player = theFrame.GetPlayer();
try {
var currentFrame = player.currentSlide();
if (currentFrame.title === "Results" && rerun) {
var score = player.GetVar("QuizResult") === "true";
AjaxRequest("api/users/CbtPassed", "POST", { Passed: score }, "JSON");
rerun = false;
} else if (player.GetVar("Transfer") === "true" && transfer) {
var success = function (value) {
transfer = false;
} catch (err) {

setTimeout(fn, 100);


In a nutshell, the script keeps checking for a particular slide and then looking for a result in that slide.


At the moment CBT is build using Articulate storyline 2, and everything works fine.

However, I need to modify the CBT using articulate storyline 3, and once I publish a story, I encounter the following issues:

1)  It seems that JavaScript does not find currentSlide() method when it is build using Articulate Storyline 3. How can I rewrite the following line and get a slide title:

var currentFrame = player.currentSlide();


2) the second issue I have, it seems I cannot get variables from the story anymore, i.e. 

var score = player.GetVar("QuizResult")

returns "undefined" result. Can you please point me where should I look for an issue? 


I'm sorry for newbie questions but I've just got this project and don't have much experience with Articulate at all.


1 Reply