我在Blackboard(2010)上为测试人员创建了一门小课程。我使用的是pipwerks包装器(我们使用2004),尽管我的成功和完成状态已成功发送到黑板上,但是分数并未得到传达(已在ScormCloud上进行了测试)。我将在下面发布相关代码。任何帮助将不胜感激!
$(document).ready(function () {
pipwerks.SCORM.data.set('cmi.score.min', '0');
pipwerks.SCORM.data.set('cmi.score.max', '100');
});
// Loads questions if there are any remaining
if (questionNumber < shuffledQuestions.length) {
generateAssessmentSlides();
} else {
var finalScore = yourScore / 100;
nextSlide();
$(".score").html(yourScore);
// Sets assessment score
pipwerks.SCORM.data.set("cmi.score.raw", '' + finalScore + '');
// Sets assessment as completed
pipwerks.SCORM.data.set("cmi.completion_status", "completed");
// Saves status before results
pipwerks.SCORM.data.save();
// Shows pass/fail screen depending on the score and shares that data with the LMS
if (finalScore >= passingScore) {
pipwerks.SCORM.data.set("cmi.success_status", "passed");
pipwerks.SCORM.data.save();
} else {
pipwerks.SCORM.data.set("cmi.success_status", "failed");
pipwerks.SCORM.data.save();
}
}
});
}
答案 0 :(得分:0)
记录SCORM 2004的分数时,通常将包括四个数据点:最小,最大,原始分数和缩放分数(通过原始/(最大-最小)计算)。根据上面的代码,您希望进行如下调用:
pipwerks.SCORM.data.set('cmi.score.min', '0');
pipwerks.SCORM.data.set('cmi.score.max', '100');
pipwerks.SCORM.data.set("cmi.score.scaled", '' + yourScore + '');
pipwerks.SCORM.data.set("cmi.score.scaled", '' + finalScore + '');
在Debug日志中,我们看到原始分数实际上已报告给LMS,但是由于您使用的是原始分数值(0.2),因此可能会将值四舍五入为零。 (应该是20)。