1

完成活动后设置成绩需要哪些 javascript API 调用?现在我有这三个电话:

LMSSetValue("cmi.core.score.min", 0);
LMSSetValue("cmi.core.score.max", 100);
LMSSetValue("cmi.core.score.raw", score);

我还将状态设置为已完成:

LMSSetValue("cmi.core.lesson_status", "completed");

当我以学生身份完成活动时,有时我会看到表明活动已完成的图标(“1 次尝试”),有时则没有。获得的分数永远不会存在。

Desire2Learn 版本为 10.1

4

2 回答 2

1

无论如何,它都不是 SCORM 专家,但这里比我更了解它的人提出以下几点:

  • 您还需要调用CommitTerminate/或LMSFinish;如果您还不了解它们,您可以在 SCORM 网站上找到一些很好的技术资源来帮助开发人员。

  • 要验证进入学习环境的分数和状态,您可以在 Web UI(内容 > 目录 > 查看报告)中查看 SCORM 报告,这是查看 SCORM 结果的标准位置。

  • 如果在那里设置了分数,您可以通过两种方式将它们放入成绩册:

    1. 您可以以讲师的身份预览内容主题:在主题视图下方,您会找到将成绩项目与主题相关联的位置。

    2. 如果课程的 DOME 配置变量d2l.Tools.Content.AllowAutoSCORMGradeItem已打开,则应自动为该 SCORM 内容对象创建一个成绩项目。

于 2013-05-16T13:17:12.493 回答
0

正如 Viktor 所说,您必须LMSCommit在 using 之后调用LMSSetValue,否则数据将不会在 LMS 中持久化(“保存”)。

LMSSetValue("cmi.core.score.min", 0);
LMSSetValue("cmi.core.score.max", 100);
LMSSetValue("cmi.core.score.raw", score);
LMSSetValue("cmi.core.lesson_status", "completed");
LMSCommit(); //save in database
LMSFinish(); //exit course

请注意,“ LMSSetValue”不是官方的 SCORM 调用,这意味着您正在使用某种 SCORM 包装器。因此,在我说LMSCommitand的地方LMSFinish,您实际上可能需要使用不同的语法——我只是在猜测函数名称。检查 SCORM 包装器的文档。关键是您需要提交(保存)和终止(完成)。

于 2013-05-16T18:30:02.230 回答