Refreshing browser while taking a course in a popup window (SCORM 2004 3rd edt)

136 views
Skip to first unread message

Chris

unread,
Oct 2, 2015, 11:43:11 AM10/2/15
to eLearning Technology and Development
Hi there,

I've created a SCORM package for a customer and its built on SCORM 2004 3rd edt. And i'm using Pipwerks' SCORM_API_wrapper.js. The course runs fine and registers 'complete' on normal usage (first to the last page). But one thing i found out is that there are some of our learners who refresh their browser at the popup window while taking the course. This cause the module not to track anymore information to the LMS.

I understand that the API could not be initialized twice, but is there anyway we can allow the learner to continue taking the course after they have clicked on the refresh button? Or is this a normal behaviour in most SCORM courses?

Regards,
Chris

Lis Tao

unread,
Oct 2, 2015, 12:02:44 PM10/2/15
to eLearning Technology and Development
Chris, 

I brought up a similar topic before on this group, and you can see the discussion here: 

I think in the end since I couldn't use an <iframe> and had no access to a database (cookies, etc...) I went and used sessionStorage. I stored a boolean variable that is set true or false depending on if the SCORM API has been already initialized. On page refresh, if it already is — checking sessionStorage variable — then using the Pipwerks' wrapper, I manually grabbed the handle and RunTimeAPI (scorm.API.getHandle()), and then set the connection manually to active (scorm.connection.isActive = true), and set version manually. 

It ended up working for what I needed it for...but not sure if that was the best way. Just wanted to put in my two cents on the topic in case that helped any.

Ryan Meyer

unread,
Oct 2, 2015, 1:10:14 PM10/2/15
to elearning-technolo...@googlegroups.com
Refreshing the content page will often cause an issue with the LMS. Most SCORM implementations have JavaScript listeners in place to detect when the content window unloads, so they can "shutdown" the course and save any data back to the server. Refreshing the content can trigger any unload listener the LMS may have in place. This isn't really a defined part of the spec, so it's not a standardized behavior. It sounds like this is what's happening in your case. If you're targeting a single LMS, you can test and see the effect. But it's probably safer to not support refreshing the page and guide users away from it.
Hope that helps,
Ryan
--
You received this message because you are subscribed to the Google Groups "eLearning Technology and Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elearning-technology-and...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Chris Ng

unread,
Oct 5, 2015, 10:33:53 AM10/5/15
to eLearning Technology and Development
Thanks everyone (Both Lis Tao/Ryan Meyer) for the help!

We most probably will do tweak a little just for this LMS we are testing and setting the scorm.connection.isActive to true by checking if the API is already initialized. 

However to be consistent, we will also implement a warning window alert onbeforeunload to warn learners about possible disconnection from the SCORM server. So at least they will be aware of it. 

Regards,
Chris
Reply all
Reply to author
Forward
0 new messages