4

在需要使用 LMS 进行跟踪的情况下,从 html 和 javascript 构建 SCORM 解决方案时,是否仍然需要将所有页面包含在 IFRAME 中或是否正在采用其他方法?尝试创建响应式页面时,在 IFRAME 中工作存在哪些困难?

4

3 回答 3

9

正如其他海报所提到的,从技术上讲,框架从来都不是必需的,但它们是迄今为止确保 SCORM API 在您在多个页面之间导航时保​​持可用的最简单和最可靠的方法。

如果您不使用 iframe(在父框架中维护 API 连接),并且用户导航到课程的第二页,它将断开 API 连接,课程将不再能够与 LMS 通信.

父框架处理与 LMS 的通信,而子框架包含课程内容。子框架(通常是 iframe)可以最大化以适应整个视口,使父框架不可见,并使子框架能够感觉/表现为单个 HTML 页面。

RE:响应式布局,iframe 不是创建响应式布局的障碍。我们一直这样做。将 iframe 设置为占用父框架的 100% 宽度/高度(溢出:在父框架上隐藏,溢出:在子框架上自动显示滚动条)。此时,您在 iframe 的 HTML 中使用的任何响应式代码都应该与不在 iframe 中时一样工作。例如,如果您在视口较小(例如平板电脑或手机)时使用媒体查询来堆叠元素,则媒体查询应该可以正常触发。SCORM 对 CSS 没有影响,如果管理得当,iframe 对您的 CSS/设计的影响可以忽略不计。

iframe 是现代网站的重要组成部分,也是 HTML5 规范的一部分;跨浏览器和设备对 iframe 的支持非常强大。不要让它吓到你。

于 2015-07-04T05:36:13.000 回答
3

无需使用 IFRAMES 或 OBJECTS 来包含您的 SCORM 内容。API 只是 Javascript,只要它全部包含在页面中,一切都会正常工作(SCORM 一致性要求基本上要求您查看自己的框架,然后是任何父框架,然后是任何父窗口)...

这么说 - 无论您使用什么平台,都需要允许您直接将内容放在那里,并且默认情况下最简单地将其放入某种框架/窗口中。

于 2015-07-03T09:55:31.503 回答
1

这个答案假设问题的意思是:“是否必须在包括 LMS 和内容在内的完整解决方案中使用 iframe?”

请记住,SCORM 现在是一个相当古老的规范,因此在设计时并未考虑到现代世界。SCORM 使用 JavaScript API,需要在 LMS 窗口和内容之间建立父子关系。这意味着您可以选择:

  • 弹出窗口,在许多浏览器中默认被阻止。
  • 框架集,“已过时”,现在在 HTML5 中不再受支持。
  • iframe,正如您所提到的,它可能会导致响应性问题。有关一些建议,请参阅此堆栈溢出问题

SCORM 的继任者Tin Can API使用 HTTP 请求而不是 JavaScript API。使用 Tin Can,您可以在新窗口、同一窗口、另一台设备或您喜欢的任何方式启动内容。不需要弹出窗口和框架。

如果问题是“我必须在我的内容中使用 iframe 吗?”,答案是否定的。

于 2015-07-03T09:40:14.333 回答