在SCORM 1.2中触发课程完成

时间:2016-09-12 13:19:39

标签: javascript scorm scorm1.2

我已经正确地保存和更新目标SCORM 1.2,但我似乎无法触发实际的课程完成。当课程加载到我们的测试管理学习环境(MLE)中时,我们会得到以下行为:

当最后一个目标完成后,课程完成将按预期启动。

SCORM console.log-ing表示已成功记录课程完成情况。

当用户关闭课程窗口时,课程完成实际上未在我们的MLE中注册。

当用户返回课程并完成任何目标(之前已完成所有目标)时,课程完成将按预期再次启动 - 但这次当他们关闭课程窗口时,课程完成已在我们的MLE注册。

那么,我应该包括退出特征吗?

以下是我们设定目标的方法:

vault.SCORM.set('cmi.objectives.'+numberOfObjectives+'.id', tempComponentString);
vault.SCORM.save();
vault.SCORM.set('cmi.objectives.'+numberOfObjectives+'.status', 'incomplete');
vault.SCORM.save(); 

以下是目标的完成方式:

vault.SCORM.set("cmi.objectives." + pages[pageId-1].componentSCORMIndexesById[element.componentId()] + ".status" , "completed");
vault.SCORM.save();

这些都很好。这是课程完成的问题所在。这是代码:

vault.SCORM.set("cmi.core.lesson_status" , "completed");
vault.SCORM.save();

重复一遍:这个课程完成console.logs就好像第一次课程实际完成时已正确启动一样,但是当用户返回课程并单击一个时,该课程仅在我们的MLE中注册为完成已完成的组件(触发客观完成并再次完成上述课程)。

我们是否已经设定了第一次阻止实际完成的目标?还是与退出特征/暂停数据有关?

如果有人有任何指示,那就太棒了!

编辑

我已经做了一些测试,并暂时取消了设置' cmi.objectives'的电话。课程完成现在可以正常工作。因此,关于目标的存在会导致课程无法正确完成。是否需要设置一些额外的属性才能真正完成目标?

0 个答案:

没有答案