Adobe Dreamweaver Forums



Last 10 THreads :         WebHelp Compile Won't Display (Last Post : Colum McAndrew - Replies : 20 - Views : 21 )           »          Placing an image in each column in ColumnChart (Last Post : SujitG - Replies : 1 - Views : 2 )           »          AdvancedDataGrid Select All Rows (Last Post : Milo[HUN] - Replies : 1 - Views : 35 )           »          rollover problem in Gallery button (Last Post : johndalejkx1 - Replies : 0 - Views : 1 )           »          x and y into Latitude and longitdue (Last Post : Ayush.Jain - Replies : 10 - Views : 11 )           »          Site Map problem (Last Post : Kcheval - Replies : 0 - Views : 1 )           »          Image icons disappear when CPD is deleted (Last Post : Peter Grainge - Replies : 1 - Views : 2 )           »          FMS3 Linux and virtual host (Last Post : RussianMedved - Replies : 0 - Views : 1 )           »          Flash Media Server 2.0 (Last Post : Ajay P - Replies : 3 - Views : 13 )           »          Advanced datagrid using Remote Objects (Last Post : rkcy - Replies : 0 - Views : 1 )           »         


Home Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
User Info Statistics
Go Back   Adobe Dreamweaver Forums > Other Macromedia/Adobe Products > Captivate
 
Tags: , ,



Reply
  #1 (permalink)  
Old 04-13-2008, 02:59 AM
simonbirch
 
Posts: n/a
Diggs:
Default SCORM and IE7 incompatability

Published SCORM 1.2 quizzes from captivate 3 do not report scores to the Moodle
LMS when using IE7, however it does report just fine when using Safari and
Firefox. My htm file is attached.



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>procedure_posttest</title>
<script src="standard.js" type="text/javascript"></script>
<script src="SCORM_support/scorm_support.js"></script>
<script type="text/javascript" language="JavaScript">
// set document.domain property here, if it works for your
environment/SCORM implementation
// document.domain="";
var g_intAPIType = 0;
// Hook for Internet Explorer
if ((navigator.appName && navigator.appName.indexOf("Microsoft") != -1 &&
navigator.userAgent.indexOf("Windows") != -1 &&
navigator.userAgent.indexOf("Windows 3.1") == -1) || g_intAPIType == -1)
{
g_intAPIType = 0;
document.write('<script language=\"VBScript\"\>\n');
document.write('On Error Resume Next\n');
document.write('Sub Captivate_FSCommand(ByVal command, ByVal args)\n');
document.write('Call Captivate_DoFSCommand(command, args)\n');
document.write('End Sub\n');
document.write('</script\>\n');
} else {
g_intAPIType = 1;
}
var strURLFile = "test_skin.swf"; // Name of the flash file
var intIntervalSecs = 1; // Number of seconds to wait for SCORM API to
load
var g_intAPIOrder = 1; // Way to search for API object (0 - starts with
bottom up; 1 - starts top down)
var strURLBase = "";
var strURLParams = "";
var strURLFull = document.location + "";
var intTemp = strURLFull.indexOf("#");
if (intTemp == -1)
intTemp = strURLFull.indexOf("?");
if (intTemp > 0)
strURLParams = strURLFull.substring(intTemp + 1, strURLFull.length);
var strTemp = location.protocol.toUpperCase();
if (strTemp.indexOf("FILE") == -1)
var intTemp = location.pathname.lastIndexOf("/");
else
var intTemp = location.pathname.lastIndexOf("\\");
if (intTemp != -1)
strURLBase = location.protocol + "//" + location.host +
location.pathname.substring(0, intTemp + 1);
else
strURLBase = location.protocol + "//" + location.host + location.pathname;

strURLParams =
(strURLParams==unescape(strURLParams)?escape(strUR LParams):strURLParams);
strURLParams = (strURLParams==""?"":"?") + strURLParams;

function Finish()
{
if ((isAPI()) && (g_bFinishDone == false))
{
(g_zAPIVersion=="0.2"?g_objAPI.LMSCommit(""):g_obj API.Commit(""));
g_bFinishDone = (g_zAPIVersion=="0.2"?g_objAPI.LMSFinish("") ==
"true":g_objAPI.Terminate("") == "true");
}
return (g_bFinishDone + "" ) // Force type to string
}

if(g_intAPIType==0)
{
// Detect Internet Explorer
var g_bIsInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
// Handle fscommand messages from a Flash movie
function Captivate_DoFSCommand(command, args)
{
var CaptivateObj = g_bIsInternetExplorer ? Captivate : document.Captivate;

var strFSArgs = new String(args);
var strFSCmd = new String(command);
var strErr = "true";
var strFSArg1, strFSArg2, strFSArg3
var intFSDelimiter = strFSArgs.indexOf("|");
if (intFSDelimiter > -1)
{
strFSArg1 = strFSArgs.substr(0, intFSDelimiter); // Name of data
element to get from API
var strFSTemp = strFSArgs.substr(intFSDelimiter + 1);
intFSDelimiter = strFSTemp.indexOf("|");
if(intFSDelimiter > -1)
{
strFSArg2 = strFSTemp.substr(0, intFSDelimiter); // Value
strFSArg3 = strFSTemp.substr(intFSDelimiter + 1); // Variable
} else {
strFSArg2 = strFSTemp;
}
} else {
strFSArg1 = strFSArgs;
}

// do nothing, if SCORM API is not available
if (!isAPI()) return;

if ( strFSCmd == "LMSInitialize" || strFSCmd=="Initialize")
{
CaptivateObj.SetVariable(strFSArg3, eval('g_objAPI.' + strFSCmd +
'(\"\");'));
} else if ( strFSCmd == "LMSSetValue" || strFSCmd=="SetValue") {
strErr = eval('g_objAPI.' + strFSCmd + '(\"' + strFSArg1 + '\",\"' +
strFSArg2 + '\");');
CaptivateObj.SetVariable(strFSArg3, strErr);
} else if ( strFSCmd == "LMSFinish" || strFSCmd=="Terminate") {
g_bFinishDone = eval('g_objAPI.' + strFSCmd + '(\"\");')
strErr = g_bFinishDone;
CaptivateObj.SetVariable(strFSArg3, g_bFinishDone);
} else if ( strFSCmd == "LMSCommit" || strFSCmd=="Commit") {
strErr = eval('g_objAPI.' + strFSCmd + '(\"\");');
CaptivateObj.SetVariable(strFSArg3, strErr);
} else if ((strFSArg2) && (strFSArg2.length > 0)) {
if(strFSCmd=="LMSGetLastError")
{
strErr = eval('g_objAPI.' + strFSCmd + '();')
CaptivateObj.SetVariable(strFSArg3, strErr);
} else {
strErr = eval('g_objAPI.' + strFSCmd + '(\"' + strFSArg1 + '\");')
CaptivateObj.SetVariable(strFSArg3, strErr);
}
} else if (strFSCmd.substring(0,3) == "LMSGet") {
strErr = "-2: No Flash variable specified"
}

return strErr;
}
}

</script>
</head>
<body bgcolor="#F1F4F5" onunload="Finish();">
<layer id="NS_dynamic" name="NS_dynamic">
<script type="text/javascript">
<!--
writeDocument('<object
classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000"'+

'codebase="http://download.macromedia.com/pub/shoc kwave/cabs/flash/swflash.c
ab#version=6,0,29,0"'+
'width="2" height="2" id="scorm_support" align="">'+
'<param name=movie value="SCORM_support/scorm_support.swf"> <param
name=quality value=high> <param name=menu value=false> <param name=bgcolor
value=#FFFFFF>'+
'<embed src="SCORM_support/scorm_support.swf" quality=high bgcolor=#FFFFFF
width="2" height="2" name="scorm_support" align=""'+
'type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplaye r">'+
'</embed>'+
'</object>');
//-->
</script>
<noscript>
<object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000"

codebase="http://download.macromedia.com/pub/shock wave/cabs/flash/swflash.ca
b#version=6,0,29,0"
width="2" height="2" id="scorm_support" align="">
<param name=movie value="SCORM_support/scorm_support.swf"> <param
name=quality value=high> <param name=menu value=false> <param name=bgcolor
value=#FFFFFF>
<embed src="SCORM_support/scorm_support.swf" quality=high bgcolor=#FFFFFF
width="2" height="2" name="scorm_support" align=""
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplaye r">
</embed>
</object>
</noscript>
</layer>
<iframe name="IE_dynamic" height=0 width=0
src="SCORM_support/scorm_support.htm"></iframe>
<script type="text/javascript" language="JavaScript">
var timeCurrent_int = new Date().getTime();
var timeLimit_int = new Date().getTime() + (intIntervalSecs * 1000);
// This simply loops for a set period of time, waiting for the API to
// load and/or be found. A better solution would be to use setInterval
// and on the timeout, redirect or load the resulting Captivate file.
while((g_objAPI == null) && timeCurrent_int < timeLimit_int)
{
g_objAPI = getAPI(g_intAPIOrder);
timeCurrent_int = new Date().getTime();
}
if(g_objAPI != null)
{
strURLParams += (strURLParams==""?"?":"&") + "SCORM_API=" + g_zAPIVersion
+ "&SCORM_TYPE=" + g_intAPIType;
}

document.write('<center>');
document.write('<table border="0" cellpadding="7" cellspacing="7"> \n');
document.write(' <tr> \n');
document.write(' <td align="middle">');
writeDocument('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/sho ckwave/cabs/flash/swflash.cab#
version=7,0,0,0" id="Captivate" width="790" height="584" align="middle"> \n'+
' <param name=movie value="' + strURLFile + strURLParams + '">\n'+
' <param name=quality value=high> \n'+
' <param name=loop value=2> \n'+
' <embed src="' + strURLFile + strURLParams + '"
pluginspage="https://www.macromedia.com/shockwave/ download/download.cgi?P1_Prod_
Version=ShockwaveFlash" quality=high type="application/x-shockwave-flash"
name="Captivate" width="790" height="584" align="middle"
swLiveConnect="true">\n'+
' </embed> \n'+
'</object>');
document.write('</td> \n');
document.write(' </tr> \n');
document.write('</table> \n');
document.write('</center>');

</script>
<script type="text/javascript">
document.getElementById('Captivate').focus();
document.Captivate.focus();
</script>

</body>
</html>



Reply With Quote
Sponsored Links
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



© Camley Interactive (camley.info) 2008 - all logos and images are copywrite their respective owners.
Proud member of the Camley Interactive Network
All times are GMT. The time now is 09:48 AM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.
Inactive Reminders By Mished.co.uk