Internet Explorer 8 Issues with Articulate Courses

Hello everybody,

This is my first post on these forums, so if there's any board etiquette I'm forgetting, you'll have to forgive me. Either way, I'm a developer for a website that utilizes a self-developed LMS to publish SCORM courses and track the results for our clients. We use several different types of SCORM-created courses, such as Articulate courses (for the classes we created ourselves), as well as many courses from independent hosts such as Element K courses. We've had a minor glitch on our system ever since the software got published, but the programmers before me never took the time to fix the glitch and I've been tasked with trying to figure out what is causing the issue.

First of all, all the courses we've created in Articulate seem to have an issue loading initially on Internet Explorer 8. The first time we load the course, it will simply show a blank window and stop loading anything else and we have to close the window and reopen it. At that point, the course works perfectly. This problem only seems to occur with Articulate-created courses and on Internet Explorer (on Firefox and Chrome, the courses work perfectly fine every time we load it). I set up IE to display errors if they occur and I received an error display when I tried to open a course for the first time, which looked like this:

Looking at the lms.js file, it seems to indicate that this line was causing the issue (this was consistently the error message that showed up).

        g_SlideLastViewed = arrData[1].substr(16);

Googling the problem came up with a few similar problems from old forum posts, but none perfectly identical to ours. One such thread was . In the interests of trying to pinpoint the problem, I enabled a course with the debug utility mentioned in that thread, and ran it in both Firefox and IE and noticed one striking trend. Firefox left the variables (seemingly as null), because whenever a variable did not exist, it was shown as blank. In the case of Internet Explorer, the variables were listed as undefined. Whether this is triggering the problem or not, I don't know. I've included the debug information as an attachment from opening the course for several different entry points, first time with Firefox, IE, second time with Firefox, IE and first time with IE but interrupting the process when the error triggers on my browser.

If anybody has any solutions or ideas to fixing the problems here, let me know and I can attempt something (I have full access to the LMS code as well as the Articulate courses). For the record, the courses are created in SCORM 1.2 format and Articulate Presenter '09 was the software used. Also, simply updating to IE9 isn't an acceptable solution, as a vast amount of our customers still use IE8, before anyone suggests that idea (I already proposed it to my boss and he said that although people should upgrade, the reality is that we have to make our software accessible to our clients regardless of the version of IE they're using.)

Let me know your thoughts as soon as possible, thanks!

-- Matt Starn

Edit: Forgot to note, my boss mentioned that this not only happens the first time someone tries to load a course on IE but intermittently while refreshing a course (sometimes it will work, sometimes it simply won't). In my attempts to duplicate this problem, however, I've only seen it happen the first time attempting a course, but it's something I thought I shouldn't omit.

6 Replies
Brian Batt

Hi Matthew & welcome to Heroes,

In your Player Template (Articulate menu > Player Template) for each course, can you go into the Player Controls section and tell me what options you have selected?  Please let me know if "prompt to resume presentation on restart" and "When running in LMS, ignore Flash cookie" are checked or unchecked.

Justin Wilcox

Hello and welcome to the forums!  I would suggest taking a look at this article to help you troubleshoot your issues:

Articulate content is compatible with IE8 so the issue is not likely directly related to the content but something about how the LMS is launching the content. If your LMS uses Java Runtime Environment it might be related to the version of JRE on your system. Articulate doesn't actually use JRE though, so that would be an issue on the LMS side.

Rather than using the debug, I would consider using something like HTTP Watch to see if you can nail down what exactly is happening.

Matthew Starn

Brian: In my Player Template, both options are checked (restart presentation and ignore flash cookie).

Justin: I'll try HTTP Watch. I was hoping the Debug utility might indicate something specific that was causing the null object to trigger though. I forgot to mention though, we don't use JRE at all. The LMS is done entirely in PHP and with Drupal code as the front-end.

Matthew Starn

I've been looking at the HTTPAnalyzer program you suggested (Watch only allowed specific URLs which didn't include the one I was hoping to use in the trial version). The results seem to be that the program crashes once the LMS tries to call the commit and Internet Explorer sets the commit for cmi.suspend_data to undefined|undefined|undefined, possibly too early into the course. When I run it a second time or any other time on Firefox, the LMSCommit call seems to trigger later into the course and not until after the first slide is viewed, causing cmi.suspend_data to be viewed=1|lastviewedslide=1|undefined.

The odd thing is that when I run it a second time on IE, a GetValue call returns suspend_data as undefined|undefined|undefined and doesn't trigger the LMSCommit I suppose. So I don't think this actually has anything to do with the problem, but something with initializing the program. I downloaded the SCORM 1.2 RTE handbook, found a few intialization DB entry errors (suspend_data was initialized to null, exit_way was initialized to null) but fixing those issues by replacing their initial entry with an empty string ('') still has the original problem triggering.

Have you ever heard of this bug before? If so, is there any feedback I could get to possibly fix this problem?