Converting and handling articulate Storyline 2 story to articulate Storyline 3
Jan 21, 2021
Hi,
I have recently inherited asp.net 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) {
window.location.replace(value);
};
window.PageMethods.GetPageToRedirect(success);
transfer = false;
}
} catch (err) {
}
}
setTimeout(fn, 100);
}
fn();
});
</script>
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
Jquery is no longer part of the output so you could try including that in your publish.
It may not help as current slide may no longer be defined.
Not sure why it isn't picking up the variable may need to see the course