标签: scorm

如何从ASP.NET变量中提供JavaScript变量数据?

我为LMS创建了一个SCORM API,现在我正在使用硬编码的userID和courseID变量(引用数据库中的东西的变量).我需要传递真实的userID和courseID,而不是使用硬编码的.我知道userID存储在会话中,courseID从启动页面传递.

如何将这些内容导入JavaScript中,以便将其包含在我对处理SCORM调用的.ashx的调用中?

javascript asp.net escaping scorm

26
推荐指数
4
解决办法
6万
查看次数

如何在lxml中为属性添加命名空间

我正在尝试使用python和lxml创建一个看起来像这样的xml条目:

<resource href="Unit 4.html" adlcp:scormtype="sco">
Run Code Online (Sandbox Code Playgroud)

我正在使用python和lxml.我遇到了adlcp:scormtype属性问题.我是xml的新手,所以如果我错了请纠正我. adlcp是一个名称空间,scormtype是一个在adlcp名称空间中定义的属性,对吧?
我甚至不确定这是否是正确的问题但是...我的问题是,如何使用lxml从非默认命名空间向元素添加属性?如果这是一个微不足道的问题,我会提前道歉.

python xml lxml scorm

13
推荐指数
2
解决办法
1万
查看次数

tincan和Scorm有什么区别?

tincan和Scorm有什么区别?

我有要求,我们需要使用第三方内容服务器支持CMS内容.

那么哪一个是好的Tincan还是SCORM?

这两个有哪些优点和缺点?

scorm tin-can-api

11
推荐指数
1
解决办法
2983
查看次数

SCORM API中的异步Ajax调用

我正在为SCORM 2004第4版创建一个javascript API.对于那些不了解SCORM的人来说,基本上它是一个API标准,电子教学课程可以用来与LMS(学习管理系统)进行通信.现在API必须具有以下方法:

  • 初始化(参数)
  • 的GetValue(钥匙)
  • SetValue(键,值)
  • 终止(参数)
  • 提交(参数)
  • GetDiagnostic(参数)
  • GetErrorString(参数)
  • GetLastError函数()

现在必须在其他任何东西之前调用Initialize,而Terminate必须在最后一个之前调用.可以在那里之间的任何地方调用GetValue/SetValue.我正在做的是在Initialize方法中我从Web服务获取一些JSON并将其存储在API中(稍后使用GetValue/SetValue方法时使用).我遇到的问题是通过jQuery的AJAX调用是异步的,因此可以在加载JSON之前完成Initialize方法调用.这就是它的方式,在调用Initialize之后调用GetValue可能会导致意外问题b/c GetValue使用的JSON还没有.我的问题是:在调用GetValue/SetValue方法之前,我该怎么做才能确保加载JSON?我知道简单的答案是让它同步,但主要是不建议,而且似乎并不想为我做那件事.这是我的代码:

function GetJSON(){
   var success = false;
   $.ajaxSetup({async:false}); //should make it synchronous
   $.getJSON("http://www.mydomain.com/webservices/scorm.asmx/SCORMInitialize?
              learnerID=34&jsoncallback=?",
             function(data){
                bind(data);
                success = true;
              }
   );   
   return success;
}

function bind(data){
   this.cmi = eval("(" + data.d + ")");
   $.ajaxSetup({async:true});  //should make it asynchronous again
}
Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法?我真的很感激!

jquery json asynchronous scorm

10
推荐指数
1
解决办法
4471
查看次数

有没有免费的简单SCORM 2004 Javascript播放器?

Javascript中是否有免费的开源轻量级SCORM 2004播放器?我正在寻找一些不受任何技术(PHP,.NET,Java)约束的东西,只是实现基本的SCORM 2004 LMS API函数,处理错误代码以及解析SCORM清单.谢谢.

更新:我已经制作了一个非常简单的JavaSript SCORM 2004 API(但仍在寻找更成熟的代码).

Update2:我找到了一个非常好的项目TinyLMS.它只是SCORM 1.2,但我已与我的客户协商SCORM 1.2就足够了.所以我将基于TinyLMS制定解决方案.

javascript scorm scorm2004

9
推荐指数
1
解决办法
2万
查看次数

开源scorm播放器纯javascript和HTML?

有没有任何scorm播放器纯粹基于javascript和html.我想,它想使用任何服务器端语言.我找到了一个开源的Scormpool,但它只是在玩它不跟踪的scorm.并且没有可用的文档.如果你们知道任何请帮助.

javascript scorm

8
推荐指数
2
解决办法
9910
查看次数

用于php的SCORM lib

我们为我们的客户开发了电子学习网站.最近他问他需要SCORM饲料.我知道我的系统是否与scrom兼容.任何人都知道任何开源php工具或lib从现有数据生成scrom.

谢谢

php scorm

7
推荐指数
1
解决办法
1万
查看次数

SCORM 2004时间格式 - 正则表达式?

我正在为LMS构建SCORM 2004 javascript API,SCORM 2004的一个要求是传入它的时间间隔必须遵循以下格式.有谁知道这个正则表达式是什么?我试图围绕它,但无济于事.注意:P必须始终是第一个字符.

P [yY] [mM] [dD] [T [hH] [nM] [s [.s] S]]其中:

  • y:年数(整数,> = 0,不受限制)
  • m:月数(整数,> = 0,不受限制)
  • d:天数(整数,> = 0,不受限制)
  • h:小时数(整数,> = 0,不受限制)
  • n:分钟数(整数,> = 0,不受限制)
  • s:秒数或秒数的分数(实数或整数,> = 0,不受限制).如果使用分数秒,则SCORM进一步将字符串限制为最多2位数(例如,34.45 - 有效,34.45454545 - 无效).
  • 如果存在相应的非零值,则应出现字符文字指示符P,Y,M,D,T,H,M和S.
  • 应支持零填充值.零填充不会更改由一组字符表示的数字的整数值.例如,PT05H相当于PT5H和PT000005H.

示例 -

  • P1Y3M2DT3H表示1年,3个月,2天和3个小时的时间段
  • PT3H5M表示3小时5分钟的时间段

任何帮助将不胜感激.

谢谢!

更新:

我添加了一些必须保留的额外标准 -

  • 指示符P应存在
  • 如果年,月,日,小时,分钟或秒的值为零,则可以省略值和相应的字符文字名称,但除了指示符P之外,还应存在至少一个字符文字指示符和值.
  • 如果不使用所有时间组件(小时,分钟和秒),则应省略指示符T. 零值可以与任何时间组件一起使用(例如,PT0S)

regex time scorm

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

执行同步HTTP请求的"正确"方式

你可能来这里是为了责备我,但这是一个真实的用例.

在线教育领域,有SCORM课程.我必须在网站上使用旧的SCORM课程.SCORM课程是"基于Web的"并在浏览器中运行,但是他们希望在iframe中运行,并且他们希望父级提供GetValue方法和SetValue.

因此,这些SCORM课程正在执行诸如parent.SetValue("得分","90")之类的事情并继续前进.如果有任何问题,该函数应该返回"false".

SCORM来自90年代,在现代网络中,我们知道我们必须做回调/承诺,http经常"失败".您可能认为解决方案是SetValue,它写入本地数据,然后尝试重试直到它完成,但SCORM课程通常设置为仅在SetValue工作时移动到下一个屏幕,因此您不应该放弃除非SetValue实际保存在服务器上,否则用户前进.

TL; DR

假设同步请求是必需的,那么正确的方法是什么?

到目前为止,我知道 $.ajax({async:false ... 但现在浏览器警告这一点,听起来他们只会忽略你的同步请求.我想也许使用websockets或web worker或者某种东西是在现代编程中做同步请求的正确方法.但我不知道如何提出这样的要求.并且我不允许更改SCORM课程的代码(它们是使用各种课程制作工具生成的)

为了澄清,我完全控制了SetValue函数的实现.

$.ajax({async:false ...长期工作吗?(5 - 10年)

注意:在此用例中完全冻结UI直到请求成功或失败完全可以接受.这就是课程所假设的.

javascript ajax jquery scorm

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

SCORM:安全错误:阻止具有来源的框架访问同一来源的跨来源框架

我知道有很多类似的问题,唯一的区别是我从 **同一 ** 域提供的两个页面都得到了这个问题。这可以在下面的示例中看到。

    Uncaught DOMException: Blocked a frame with origin "https://content.samba.net" from accessing a cross-origin frame. 
  
at findAPI (https://content.samba.net/00/07/19-10/scorm_support/scorm_support.js:14:10)   
at getAPI (https://content.samba.net/00/07/19-10/scorm_support/scorm_support.js:61:13)   
at https://content.samba.net/00/07/19-10/SCORM.htm:200:16
Run Code Online (Sandbox Code Playgroud)

这种情况不应该只发生在不同域之间吗?

================================编辑=================== ====================
当然,在我发布几秒钟后,我发现了这个问题。SCORM 包具有定位 SCORM API 的功能。它看起来像顶部和开启器。就我而言,开窗器位于不同的域中,它试图访问该域。
为了历史的缘故,我会把它留下来。我的回答有详细信息。

javascript iframe cross-domain scorm same-origin-policy

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