将数据从 SCORM 播放器发送到 LMS

Send data from SCORM player to LMS

本文关键字:LMS 播放器 数据 SCORM      更新时间:2023-09-26

以下是工作代码,它不会引发任何错误,但我想使用 jQuery 将数据从播放 SCORM 包的播放器发送到 LMS。

法典-

<html>
<head>
    <title>SCORM Player - <?php echo $_GET['name'] ?></title>
    <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script>
        $(document).ready(function(){
        })
    </script>
</head>
<frameset frameborder="0" framespacing="0" border="0" rows="0,*" cols="*">
    <frame src="SCORM_2004_APIWrapper.js" name="API_1484_11" noresize>
    <frame src="course/ThomasJefferson_sco2004/index.html" name="course" id="couse">
</frameset>
</html>

ready()之间,我尝试了这些代码,但无法破解:(

    $(document).ready(function(){
        var stat = API_1484_11.GetValue("cmi.location");
        // tried with objAPI as show here http://scorm.com/scorm-explained/technical-scorm/scorm-2004-overview-for-developers/
        console.log(stat);
    })

我的文件夹结构-

-index.php
-player.php
-course/SCORM-course (directory)
-wrap.js
-SCORM_2004_APIWrapper.js

所有代码 -

我的索引.php代码 - http://pastebin.com/e8fcvxep

我的播放器.php代码 - http://pastebin.com/R0zRaVXJ

我的包装.js代码 - http://pastebin.com/Lte4eTKu

我的SCORM_2004_APIWrapper.js代码 - http://pastebin.com/kdQ0JR04

让我知道如何处理从播放器到 LMS 的数据传输。

您引用的SCORM_2004_APIWrapper.js实际上是让内容或 SCO 查找 LMS 提供的 SCORM 2004 运行时。 这称为"API_1484_11"。API 包装器本身在文档对象模型 (DOM) 中搜索API_1484_11。SCO通常加载到IFRAME,弹出窗口或新的Windows/选项卡中。因此,他们在父窗口中搜索此 API。请记住,来自高级分布式学习的SCORM 2004运行时环境PDF介绍了这些协议和"规则"。我自己项目中的一个例子是轻量级的"Local_API_1484_11.js"。我将其设置为在 SCO 的本地测试中模仿 LMS,因此您没有那么多往返测试。 您可以将其用作真实代码的基线,但请记住,有许多规则都基于白皮书,这远非所有错误代码支持。

我不知道有谁发布了这个的免费版本,因为它有字符串附加到读取SCORM CAM包(imsmanifest.xml)的服务器实现。 传递信息,如时间限制、启动参数、完成阈值等...... 您通常管理所有这些参数、作业、学生档案,然后填写报告、论坛等......

我在GitHub上有更多关于我的Github项目上SCO/LMS关系的信息。http://cybercussion.github.io/SCOBot/

如果您从事非营利性工作,我有一个更增强的 LMS 运行时项目处于测试阶段。 给我发个消息。