标签: scorm

将VBScript转换为Javascript

忙着调试一个奇怪的问题,这个问题与一些Flash内容将用户从SCORM模块的进度传递回Moodle的方式有关.

在IE 6,7,8,9,Chrome和Firefox上,一切正常.在IE 10上,Flash模块的进度跟踪未到达服务器.

在SCORM启动程序中,使用以下(古代)代码创建事件处理程序:

<SCRIPT LANGUAGE="VBScript">
on error resume next
sub preloader_FSCommand(ByVal command, ByVal args)
  call preloader_DoFSCommand(command, args)
end sub
</SCRIPT>
Run Code Online (Sandbox Code Playgroud)

在Chrome上调试,我可以看到该函数按预期调用.

尝试在IE 10中进行调试失败,因为从未调用过代码.我如何将此代码翻译为Javascript?试图删除VBScript,因为它似乎是问题的一部分.我尝试了以下代码,但没有成功:

<script>
      function preloader_FSCommand (command, args) {
           preloader_DoFSCommand(command, args);
      }
</script>
Run Code Online (Sandbox Code Playgroud)

preloader_DoFSCommand 在代码的其他地方定义,在Chrome/Firefox /等上被称为正常,但在IE 10上则没有.

更新:似乎问题的一部分与IE 10不再支持标准模式下的FSCommand有关.问题现在变成了什么是合适的解决方法,它不需要更改Flash/SCORM内容?

javascript vbscript moodle scorm internet-explorer-10

6
推荐指数
1
解决办法
5599
查看次数

SCORM托管跨源

我尝试在不运行我的LMS(学习管理系统)的另一个域上托管一个SCORM电子学习模块。SCORM模块通常在它们自己的浏览器框架/窗口中运行,并且直接与LMS通信,并且全部在同一域上运行。这没有问题,因为没有安全问题。已经用我的代码尝试过这种情况,它可以工作。

为了将模块存档在其他服务器上,我尝试使用包装器之类的东西。这些包装器托管在LMS上,从extern加载内容,并通过postMessage与LMS进行通信。我尝试了这个开源项目:https//github.com/Didask/scol-r

但是我不起作用。每当我遇到错误时:Error grabbing 1.2 API-SecurityError:Blocked a frame with origin "https://..." from accessing a cross-origin frame. Protocols, domains, and ports must match. 尝试访问不允许的内容。在“ SCORM_ScanParentsForApi”方法中引发异常。

我已经问过这个项目的作者了,但是他根本没有答案。我在响应中设置了一个小型演示项目来模拟LMS。添加了包装器模块,该包装器模块指向托管SCORM模块的外部内容服务器。

也许有人有想法或可以给我提示。我认为这是微不足道的。希望;)谢谢!

javascript scorm scorm1.2 reactjs

6
推荐指数
1
解决办法
395
查看次数

Captivate - LMS - SCORM通信问题

我正在开发符合SCORM的LMS,并且在Captivate生成的内容方面存在一些问题.

基本上,行为是:如果你看到一个SCO(吸引生成的内容),例如每张幻灯片中有15张幻灯片和1个问题,我的lms不跟踪所有15个问题,只跟踪前3个或4个.如果你等了很长一段时间,或者如果你把内容放慢,它工作正常.

经过大量的谷歌搜索,调试和追踪,最后,我发现了两个主要问题:

1)Captivate - SCORM API通信是异步的(与flash-javascript通信相同).因此,当用户快速看到内容时,函数调用变得越来越失败,并且最后,用户可能正在回答问题15,并且内容正在发送问题4信息.我无法更改Flash或JS-Flash界面,因为这是由Captivate提供的.

有一种方法可以实现这种同步吗?我的意思是,迫使闪光灯等一些方式?

2)每次调用函数都需要更长的时间,例如,setValue第一次需要7毫秒,最后一次需要调用200.

要理解这个问题,这里有一点背景:Captivate内容(所有内容确实但更多的内容)多次调用特定函数,SetValue函数,一个SCORM API函数.此函数接受两个参数(fieldName,value),第一个是要设置的字段的名称,第二个是新值.在我的实现中,此函数首先使用正则表达式验证值,然后在对象中设置值.

好的,我可以添加更多信息,但我不知道什么是真正重要的,我不希望你修改我的代码而不看它,但我没有想法,需要新的意见,想法,方向....也许那个sombody问正确的问题......帮助:)

谢谢

javascript flash adobe-captivate scorm scorm2004

5
推荐指数
2
解决办法
6759
查看次数

在Android中显示SCORM内容

我有一个原生的基于Android Moodle的应用程序,我必须在应用程序中显示SCORM格式的课程.
有人可以帮我解决这个问题......
这些课程以SCORM格式上传到我的Moodle网站.
get_course_contents网络服务给了我一个网址指向课程文件,这里指定
https://github.com/dongsheng/moodle/wiki/WebService:get_course_contents

如何在我的原生Android应用程序中显示这些SCORM文件?
我是否需要解析imsmanifest.xml文件并获取SCORM包的详细信息并显示HTML5内容?还是有另一种/更好的方法?

**


**
更新:
我现在尝试在a中显示SCORM包内容WebView.
我的SCORM包就像:
在此输入图像描述
我已将此包复制Assets到我的POC项目的文件夹中.
我的WebView设置是:

settings.setJavaScriptEnabled(true);
settings.setPluginsEnabled(true);
PluginState state = PluginState.ON;
settings.setPluginState(state);
settings.setAllowFileAccess(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setDatabaseEnabled(true);

String databasePath = this.getApplicationContext()
        .getDir("database", Context.MODE_PRIVATE).getPath();
settings.setDatabasePath(databasePath);
webview.loadUrl("file:///android_asset/ttttt.html");
Run Code Online (Sandbox Code Playgroud)

我的表现是:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.html5test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.html5test.MainActivity"
            android:hardwareAccelerated="true"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application> …
Run Code Online (Sandbox Code Playgroud)

android moodle scorm android-webview

5
推荐指数
1
解决办法
4626
查看次数

关闭一个Captivate SCORM会话

当您单击发布到SCORM的Captivate课程中的退出按钮时,应用程序将不会退出.我尝试了所有发布的方法.他们没有工作.Captivate不会在版本7中处理javascript.经过多次尝试,我终于找到了一个可以使用的钩子.问题主要是由Adobe永远不会解雇LMSFinish引起的.(奇怪,因为有两个要求SCORM兼容训练,1.消防LMSInitialize和2.消防LMSFinish.)一旦告诉LMS你完成了,LMS可以清理窗口.Web培训模块无法使用window.close关闭窗口.所以解决方案.

查找Utilities.js它位于$ CaptivateInstallFolder/Templates/Publish/LMS/Standard/SCORM/default/js文件夹中.

找到以下......

function DoCPExit()
{
    if(window != window.parent && window.parent && window.parent.hasOwnProperty("DoCPExit"))
    {
        window.parent.DoCPExit();
    }
    else
    {
        window.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

并添加以下内容......

function DoCPExit()
{

    if(SCORM2004_objAPI){SCORM2004_CallTerminate();}
    if(SCORM_objAPI){SCORM_CallLMSFinish();}

    /* The code below will only work if there is a parent. No parent. No close.*/
    if(window != window.parent && window.parent && window.parent.hasOwnProperty("DoCPExit"))
    {
        window.parent.DoCPExit();
    }
    else
    {
        window.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

我回答了自己的问题,但我认为有人可能会从我的痛苦中受益.LMS可以关闭窗口,因为LMS打开它.

我希望这可以帮助别人.

javascript adobe scorm

5
推荐指数
1
解决办法
2807
查看次数

如何使用PHP在我的SCORM包上运行创建本地LRS并与Tin can Api集成

我正在尝试创建一个SCORM包并为其生成语句.

我想创建一个本地LRS和Tin Can Api设置并从我的scorm生成语句并在我的php页面中显示结果.

我使用以下链接创建了一个LRS(http://onetarek.com/tin-can-api/guidephp-simple-lrs-with-tin-can-api/).

我已经下载了Tin Can Php样本并安装在我当地,不幸的是它无法正常工作.因为我需要设置我的端点和身份验证凭据.我不知道这是我在LRS的本地设置.

这该怎么做 ?

我还希望将SCORM包托管到任何LMS并使用这些设置进行测试.

我已经分析了许多论坛和帖子,但没有成功.

我搞不清楚了.需要一些决议.

请帮助.

-Vignesh Selvarajan

php scorm tin-can-api

5
推荐指数
1
解决办法
2825
查看次数

SCORM 1.2 API示例/教程

我花了相当多的时间来搜索SCORM 1.2 API教程/示例,结果证明这是一项相当困难的任务.

我找到的唯一样本是:http: //www.vsscorm.net/2009/05/30/ground-rules/

这是一个可靠的教程,但我想从其他来源找到更多信息.

所有建议表示赞赏.

api scorm

5
推荐指数
1
解决办法
7002
查看次数

xAPI /锡罐到LRS到LMS

我想更好地了解xAPI/Tin Can的工作原理(我今后称之为xAPI)

之前我正在为SCORM 1.2 LMS开发,其中有"记录",例如:每个内容包的原始尝试,状态原始分数.LMS希望升级到xAPI,但我不确定xAPI如何工作的理论.

http://tincanapi.com/learning-record-store/上说明:

存储在LRS中的数据可以由LMS,报告工具或其他LRS访问,并且可以存储为单独的学习记录和/或整个成绩单

随后在http://www.learningsolutionsmag.com/articles/1271/the-xapi-and-the-lms-what-does-the-future-hold上,它还声明:

具有内置LRS的LMS支持Experience API,还可以执行LMS产品管理学习交付所做的所有其他事情.

问题是,

LMS和LRS之间的这种关系到底意味着什么?我需要能够从位于LMS 之外的应用程序设置所述LMS"记录" ,如何使用xAPI执行此操作?

或者我可能完全误解了xAPI LRS,它是否完全取代了LMS记录?

谢谢您的帮助.关于此的信息资源的链接也将不胜感激.

scorm tin-can-api

5
推荐指数
2
解决办法
2234
查看次数

在没有创作包的情况下实施LMS Scorm Tracking是否适合初学者?

在构建电子教学解决方案之前,我决定是使用Captivate或Storyline等创作包,还是创建利用JS调用进行跟踪的HTML页面.如果我避免使用创作工具,我会在内容和现有资产的重用方面获得灵活性.例如,Storyline正在输出SWF文件,我无法将其传递给我的团队,就像一个简单的HTML页面一样.但是,我是SCORM的新手.我想知道实现SCORM LMS跟踪JS调用以及我的自定义HTML页面是否可行,或者更好的方法是从创作工具开始?

adobe-captivate scorm tin-can-api articulate-storyline

5
推荐指数
1
解决办法
714
查看次数

如何将 scorm 课程集成到我的网站

我有 scorm 课程,这是一个包含下一个文件的包

我可以将它上传到 scorm 云(使用 scorm 驱动程序)并在此处启动它。但我需要在我自己的网站上展示这门课程。我不明白如何做到这一点。

我应该使用一些 scorm 播放器吗?这里是说比我可以用SCORM云,但它并不适合我(或者我不明白的地方)。

还是我应该使用 scorm 包装器?但是如何将其用于展示课程。

在功能中,我将从服务器获取 scorm 包。

javascript scorm web

5
推荐指数
1
解决办法
3021
查看次数