Я использую Moodle 3.2.2 и загружаю файл отправки курса Scorm в Moodle. Все работает нормально, кроме возобновления курса.
Я создал свой собственный файл отправки, как это делает облако Scorm. Когда я тестирую тот же курс, загружая файл рассылки облака Scorm, он работает нормально. Но мой файл рассылки в Moodle не возобновляет ход.
Примечание. Я использую iSpring Presenter для создания курса SCORM.
Это структура отправки файлов, которые у меня есть.
Код dispatch.html
<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 — это файл, который помогает наладить связь между LMS и SCORM. в то время как файл client-loader.js - это место, где происходит общение. Я использую следующий код
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");
}
Когда пользователь закрывает окно Moodle LMS, этот код выполняется
SetValue("cmi.core.exit", "suspend");
api.LMSCommit("");
api.LMSFinish("");
Но в следующий раз я не могу возобновить курс. Может ли кто-нибудь сказать мне, где я делаю неправильно? Как возобновить курс с последнего слайда.?