我已经开发了一个HTML课程,我创建了菜单并链接到imsmanifest.xml中的相应html页面,问题是如果用户使用内部链接导航到下一课程,状态未在LMS中更新,例如SCO.html具有指向SCO2.html的内部链接
答案 0 :(得分:2)
您是否可以将所有内容页面调用javascript函数来更新lesson_location?这样,当新的HTML页面加载它时,它将更新位置。这可能是最简单的方式,虽然不是最优雅的方式。
答案 1 :(得分:1)
在SCORM中,您不应该直接从一个SCO链接到另一个SCO。 LMS负责SCO之间的导航。这是因为,在SCORM中,SCO应该可以在其他可能不包含您链接的其他SCO的课程中重复使用。
如果您使用的是SCORM 2004,则可以使用adl.nav请求来请求将用户导航到某个SCO。如果您使用的是SCORM 1.2,那么您应该将所有现有SCO组合成一个大型SCO,或者让LMS显示目录并处理导航。
要获得更新状态,请确保在SCO卸载时始终调用LMSFinish / Terminate。最好在onunload和onbeforeunload事件中包含这些调用,以确保始终调用它们。
此外,请确保在用户完成后立即设置cmi.core.lesson_status / cmi.completion_status。理想情况下,你不应该等待SCO卸载来进行这些调用。
(More basic information on how the SCORM Run-Time works)
仅更新课程位置值不会自动保存您当前的位置。然后,您需要检索此值并明确地将用户重定向到他们离开的位置。