【问题标题】:Captivate Javascript detect LMS activity finishedCaptivate Javascript 检测 LMS 活动已完成
【发布时间】:2018-07-19 23:22:02
【问题描述】:

我有一个 Captivate 8 项目,其中有一个包含大量 Javascript 的 Web 对象。

Web 对象通过 Captivates scorm 驱动程序将数据发送到 Moodle LMS。 Captivate Web 对象在窗口或选项卡中打开(取决于浏览器)。

这主要是有效的,但是当活动在 Moodle 窗口中关闭时,网络对象不知道这已经发生并且网络对象窗口/选项卡保持打开状态。

我需要从 LMS 中获取学生已通过 Captivate 或 Scorm Driver Captivate 使用 (Rustici) “退出活动”的事件。 或者其他一些获取变化的方法。

我在 Captivate Javascript API 或 Rustici Scorm 驱动程序文档中找不到任何明显的内容。 看起来应该很明显!

有人已经这样做了吗?

【问题讨论】:

    标签: javascript moodle scorm


    【解决方案1】:

    我记得这个问题,但请记住,这已经有几年了。从本质上讲,您可以监听诸如 unload、onbeforeunload 之类的事件,以尝试捕捉内容被告知要自行关闭的事实。

    这使您有机会调用自己的内部退出方法,这应该可以节省学生的尝试。

    您可以在此处查看 SCOBot Content API 的一些执行方式 - https://github.com/cybercussion/SCOBot/blob/master/QUnit-Tests/js/scorm/SCOBot.js#L1978

    GL

    【讨论】:

    • 我认为我需要做的就是检查 Scorm 驱动程序是否可用。驱动程序由 Captivate 加载,如果我的 javascript 在它自己的窗口中运行,它应该在 Moodle 关闭 Captivate 内容时看到驱动程序运行(变为未定义)。然后我可以关闭窗口。我星期一试试!
    • 从技术上讲,如果您的行为在 LMS 级别,如果内容正确执行,您会收到 Terminate 调用。情况并非总是如此,因此需要更多的状态来识别我们有一个正在运行的会话的事实,并请求一个新的会话。那时我会启动一个 5-10 秒的窗口,让内容有时间自行退出,或者在过期时强制退出。每个 LMS 都会区别对待或根本不区别对待。
    • 我在 Captivate JavaScript API 文档中看不到任何看起来像是表示用户已终止或关闭内容的事件。 Rustici Scorm 驱动程序也是如此。
    • 据我所知,如果 Scorm 驱动程序突然消失,这意味着 Captivate 内容已关闭。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 2018-12-28
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多