Ich benutze Moodle 3.2.2 und ich lade Scorm Course Dispatch-Datei in Moodle. Alles funktioniert gut außer Fortsetzen des Kurses.Moodle Scorm Kurs Lebenslauf
Ich habe meine eigene Versanddatei wie Scorm Cloud erstellt. Wenn ich den gleichen Kurs durch Download Scorm Cloud-Versanddatei testen, funktioniert es gut. Aber meine Versanddatei in Moodle setzt den Kurs nicht fort.
Hinweis: Ich benutze iSpring Presenter, um SCORM-Kurs zu erstellen.
Dies ist die Versandstruktur von Dateien, die ich habe.
Der dispatch.html Code ist
<html>
<head>
<title></title>
<meta charset="utf-8" />
<script src="configuration.js"></script>
<script src="utils.js"></script>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script type="text/javascript">
include_script(DispatchRoot + "/scripts/client-driver.js");
include_script(DispatchRoot + "/scripts/client-loader.js");
</script>
</head>
<frameset id="dispatch_frameset" rows="0,*" frameborder="0" framespacing="0" border="0" onload="DispatchStart('dispatch_course_frame')"
onunload="DispatchUnload()">
<!-- We set the src to blank.html to avoid security warnings in IE6/IE7 when launching in HTTPS -->
<!--<frame id="dispatch_content_frame" name="dispatch_content_frame" src="blank.html" />-->
<frame id="dispatch_loading_frame" name="dispatch_loading_frame" src="blank.html" />
<frame id="dispatch_course_frame" name="dispatch_course_frame">
</frameset>
<noframes>
Your browser must be able to view frames for this content to display.
</noframes>
</html>
Client-driver.js eine Datei ist, die Kommunikation zwischen LMS und SCORM zu bauen hilft. während die Datei client-loader.js für die Kommunikation zuständig ist. Ich verwende folgenden Code
var completionStatus = Getvalue("cmi.core.lesson_status");
if (completionStatus == "not attempted") {
SetValue("cmi.core.lesson_status", "incomplete");
}
SetValue("cmi.core.exit", "suspend");
console.log(Getvalue("cmi.core.student_id"));
console.log(Getvalue("cmi.core.student_name"));
var entry = Getvalue("cmi.core.entry")
console.log(entry);
if (entry == "resume") {
var val = Getvalue("cmi.suspend_data");
SetValue("cmi.suspend_data", val);
}
else {
SetValue("cmi.suspend_data", "2");
}
Wenn der Benutzer die Moodle LMS Fenster diesen Code schließen
ausführenSetValue("cmi.core.exit", "suspend");
api.LMSCommit("");
api.LMSFinish("");
Aber das nächste Mal, wenn ich bin nicht in der Lage Kurs fortzusetzen. Kann mir jemand sagen, wo ich falsch liege? Wie kann ich den Kurs von der letzten Folie fortsetzen?