scorm - SCORM 可以做什么

标签 scorm

我的公司有在线类(class),有些是线性的,有些更像是 Playground 。所有类(class)都有大量从媒体服务器流式传输的媒体 Assets 。这些类(class)会使用用户结果和信息更新我们的数据库。

看起来 SCORM 希望将类(class)的所有内容放入一个包中。是否可以将媒体内容流式传输到 SCORM 类(class)?我们还能在自己的服务器上保存数据吗?对新手有什么建议吗?

最佳答案

尼克,

大多数内容提供商都将其 SCORM 内容放置在学习服务器上,这一点是正确的,但事实并非必须如此。通过适当的开发,您可以将所有内容保存在服务器上、记录使用情况、显示视频和其他内容,同时与 LMS 保持适当的通信。

SCORM 内容使用 JavaScript,现代浏览器禁止与两个不同域之间的页面进行交互。默认情况下,两个 URL(例如 www.learningserver.com 和 www.yourcontent.com)将被阻止以 SCORM 要求的方式进行交互。有时称为跨域策略。

有几种方法可以规避此禁令。请参见: Ways to circumvent the same-origin policy

我建议您使用以下技术:

  1. 包含以下隐藏代码和类(class)内容的框架集(或 iframe)
  2. SCORM 包提供的一个小文件,它发现 LMS API 并使用此处描述的消息后技术等待来自下面提到的部分的消息:https://developer.mozilla.org/en/DOM/window.postMessage 。此技术适用于 IE8+ 和所有其他浏览器。

    • 坚持使用 SCORM 1.2,因为它得到了更好的支持
    • 动态地将 http 或 https 网址包含到您的代码中。如今许多 LMS 都在使用 HTTPS,您需要考虑到这一点。
    • 所有 SCORM 交互都发生在这里,但由下面描述的内容框架启动。如果愿意,某些方法(如 LMSInitialize (SCORM1.2) 或 LMSFinish 和 SetValue("cmi.core.session_time","hh:mm:ss.s"))可以独立于内容窗口运行。
    • 至少,SCORM 内容的大多数消费者都需要 LMSInitialize、LMMSFinish、书签和 session_time。
  3. 内容框架集(或现代化的 iframe),用于将分数或其他信息传回 LMS 本地内容,LMS 本地内容使用列出的 URL 中描述的 postmessage 技术与 API 进行通信

您可以在下面的链接中找到 SCORM 内容示例:
http://scorm.com/scorm-explained/technical-scorm/golf-examples/

使用简单的示例并遵循 list 和 SCORM API 的格式。

关于scorm - SCORM 可以做什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23070213/

相关文章:

moodle - cmi.total_time 参数不返回任何内容

javascript - 需要将用 javascript 编写的测验分成每个 Q 一页,而不是所有 Q 都放在一个页面上

SCORM - 如何使用内部菜单/快速链接更新类(class)状态到 SCORM 中的下一个 SCO?

javascript - Moodle 中的 SCORM 包 - 如何调试错误

javascript - 交互和目标保存卡住应用程序

c# - 将 SCORM 类(class)或 Tin Can API 内容集成到 C# 自定义 LMS 中

javascript - SCORM 1.2 JavaScript 函数

html - SCORM实现

javascript - 从一张幻灯片跳到另一张幻灯片

scorm - 为什么无法对 scorm 包进行逆向工程以打开和编辑其内容?