我在SCORM Cloud推出了SCORM 2004(第3版)軟件包。我通過了80%的考試,但結果不存儲。我附加沙盒註冊狀態結果。爲什麼SCORM 2004第3版的SCORM雲中沒有存儲通過的分數?
Satisfied: true
**Completed: unknown**
Progress Status: true
Attempts: 1
Suspended: true
Activity Objective #1
Id:
Measure Status: false
**Normalized Measure: unknown**
Progress Measure: true
Satisfied Status: true
Runtime Data
**cmi.completion_status: unknown**
cmi.credit: Credit
cmi.entry: Resume
cmi.exit: Suspend
cmi.learner_preference
cmi.learner_preference.audio_level: 1
cmi.learner_preference.language:
cmi.learner_preference.delivery_speed: 1
cmi.learner_preference.audio_captioning: 0
**cmi.location: 2_8
cmi.mode: Normal
cmi.progress_measure:
cmi.score_scaled:
cmi.score_raw: 80**
cmi.score_min:
cmi.score_max:
**cmi.total_time: 0000:00:28**
Total Time Tracked by SCORM Engine: 0000:00:29.12
cmi.success_status: Passed
cmi.suspend_data:
Static Data
cmi.completion_threshold:
cmi.launch_data:
cmi.learner_id: [email protected]
cmi.learner_name: Test Test
cmi.max_time_allowed:
cmi.scaled_passing_score:
cmi.time_limit_action: Undefined
當我在SCORM 1.2版本相同的課程試過,我可以看到SCORM雲中的所有結果。我不知道,這是什麼問題。
在這裏,我附上劇本也
function getResults(correct_count, answers_key, total, grade) {
var form_result = $('form').serializeArray();
$.each(form_result, function(i, val) {
if(answers_key[i] == val.value) {
correct_count += 1;
}
});
var score = Math.round(parseFloat(parseFloat(correct_count, 10) * 100)/ parseFloat(total, 10));
setScore(score);
if(score >= grade) {
setPassFail('passed');
} else {
setPassFail('failed');
}
}
function setPassFail(sPassFail) {
/* see if this SCORM 2004 */
if (_sAPI == "API_1484_11") {
/* it is SCORM 2004, set the success status */
scormSetValue("cmi.success_status", sPassFail+"");
} else if (_sAPI == "API") {
/* it is SCORM 1.2,set the completion status */
scormSetValue("cmi.core.lesson_status", sPassFail+"");
}
}
function setScore(sScore) { /* see if this SCORM 2004 */ if (_sAPI == "API_1484_11") { /* it is SCORM 2004, set the scaled score data */ // scormSetValue("cmi.score.scaled", sScore+""); scormSetValue("cmi.score.raw", sScore+""); scormCommit(); } else if (_sAPI == "API") { /* it is SCORM 1.2, set the min and max scores
*/ scormSetValue("cmi.core.score.raw", sScore+""); } }
function scormSetValue(name, value) {
var API = getAPI();
if (API == null)
return "true";
/* call the correct SCORM function */
if (_sAPI == "API")
var result = API.LMSSetValue(name, value);
else
var result = API.SetValue(name, value);
return result;
}
function scormCommit() {
var API = getAPI();
if (API == null)
return "false";
/* call the correct SCORM function */
if (_sAPI == "API")
var result = API.LMSCommit("");
else
var result = API.Commit("");
return result;
}
請幫助我,什麼是錯誤/問題是那裏的代碼。
謝謝!
嗨, 我做了所有更改,並在SCORM Cloud中獲得了結果。但是我沒有拿到該課程的總分。有什麼我想補充的嗎?
我在setScroe之後添加了API.Commit('')。但是,我無法獲得結果數據。我錯過了什麼?還有其他更改嗎? –
我也有一個小書籤,可以幫助您在LMS中獲取SCO的當前運行時狀態。如果有什麼事情你不知道的話,它也可能會拿起一些LMS神器。 https://www.cybercussion.com/bookmarklets/SCORM/。這至少會讓你看到正在運行的SCORM版本,或者同時運行多個SCORM版本(這實際上發生在野外)。讓我知道這是否有幫助。 – Mark
謝謝你的幫助,馬克! –