We have a few Captivate SCORM packages and we want to edit the code to force HTML5 version. It is already supported and works on Mobile but on PCs it is seeing Adobe Flash enabled (although it recently expired and is not considered there), and fails to load the fallback HTML5. We don't have the source files to edit the project and thus we are trying to edit the .js files to load HTML5 and remove the SWF file.
Can you help point out which files to edit to do that? Thanks.
The simplest fix for this is to simply delete the code in your multiscreen.html file and replace it with an HTMl redirect that points to the index.html file for the HTML5 content. That way only the HTML5 content ever gets called.
You don't need complex JS code to pull this off, but if you want some directions, see this page:
I am having the same issue here is a sample code of the multiscreen.html file below. Little help on which line I am suppose to redict to html 5
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name='viewport' content='initial-scale = 1, minimum-scale = 1, maximum-scale = 1'/>
var lDevicesUserAgents = ["blackberry","android","iphone","ipad","symbian","smartphone","ios","windows ce","webos"];
var lDeviceUserAgentString = navigator.userAgent.toLowerCase();
for(var i=0; i < lDevicesUserAgents.length; ++i)
if(lDeviceUserAgentString.indexOf(lDevicesUserAgents[i]) != -1)
var lParamString = window.location.toString().split("?");
if(lParamString != undefined)
lParamString = "?" + lParamString;
lParamString = "";
document.getElementById("frame1").src="index.html" + lParamString;
document.getElementById("frame1").src="untitled1.htm" + lParamString;
if(window != window.parent && window.parent && window.parent.hasOwnProperty("DoCPExit"))
if(window.top == self)
var win = window.open("","_self");
var win = window.top.open("","_self");
if(!document.location || !document.URL || !document.referrer)
return (document.location.href.indexOf("airspeed") != -1 || document.URL.indexOf("airspeed") != -1 || document.referrer.indexOf("airspeed") != -1)
<frameset rows="100%,0%,0%,0%,0%" onload="OnLoad_Activities()" border="0">
<frame width="100%" height="100%" id="frame1" name="content" src="">
Your browser must be able to view frames for this content to display.
Thank you in advance if you have a suggestion. This HTML5/SWF is causing havoc on our LMS and its not detecting the HTML 5 content and we don't have the original files to republish.
Unfortunately, you waited until your content failed before addressing this issue rather than getting in early and fixing it when you had plenty of time time during the past few years, even though the death of Flash was warned about many times.
If your content is set up as SCORM for delivery from an LMS, just delete all the code out of your multiscreen.html file and replace it with this:
<meta http-equiv="refresh" content="0; url='index_scorm.html'" />
It’s better than using window.location.href = ‘http://example.com’;
If you want to simulate someone clicking on a link, use window.location.href
If you want to simulate an HTTP redirect, use window.location.replace
The difference between replace() method and assign() method(), is that replace() removes the URL of the current document from the document history, means it is not possible to use the “back” button to navigate back to the original document. So Use the assign() method if you want to load a new document, andwant to give the option to navigate back to the original document.