SCORM - 如何使用内部菜单/快速链接到 SCORM 中的下一个 SCO 来更新课程状态?

发布于 2024-12-21 20:59:52 字数 128 浏览 4 评论 0原文

我已经用 HTML 开发了一门课程,并且创建了菜单并链接到 imsmanifest.xml 中的相应 html 页面,问题是如果用户使用内部链接导航到下一课,则 LMS 中的状态不会更新,例如 SCO.html 具有内部链接SCO2.html

I have developed a course in HTML and I have created the menu and linked to respective html page in imsmanifest.xml the issue is if user navigate to next lesson using internal link the status is not updating in LMS e.g. SCO.html has internal link to SCO2.html

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

妄司 2024-12-28 20:59:52

您可以让所有内容页面调用 JavaScript 函数来更新 Lesson_location 吗?这样,当新的 HTML 页面加载时,它就会更新位置。这可能是最简单的方法,尽管不是最优雅的。

Can you have all your content pages call a javascript function to update lesson_location? That way when the new HTML page loads it will update the location. That's probably the easiest way, though not the most elegant.

醉南桥 2024-12-28 20:59:52

在 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 卸载才能进行这些调用。

有关 SCORM 运行时工作原理的更多基本信息

)更新课程位置值不会自动保存您当前的位置。然后,您需要检索该值并显式地将用户重定向回他们离开的位置。

In SCORM, you should not be directly linking from one SCO to another SCO. The LMS is responsible for navigation between SCOs. This is because, in SCORM, a SCO should be reusable in other courses that may not contain the other SCO you are linking to.

If you are using SCORM 2004, you can use an adl.nav request to request that the user be navigated to a certain SCO. If you are using SCORM 1.2, then you should either combine all of your existing SCOs into one big SCO, or just let the LMS present the table of contents and handle the navigation.

To get the status to update, make sure that you are always calling LMSFinish/Terminate whenever the SCO unloads. It is good practice to include these called in the onunload and onbeforeunload events to ensure that they are always invoked.

Also, make sure that you are setting cmi.core.lesson_status/cmi.completion_status as soon as the user has achieved completion. Ideally you should not wait for the SCO to be unloading to make these calls.

(More basic information on how the SCORM Run-Time works)

Simply updating the lesson location value will not automatically save your current location. You then need to retrieve this value and explicitly redirect your user back to where they left of.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文