我试图在与我的学习管理系统(LMS)运行不同的域上托管一个SCORM e-learning模块。SCORM模块通常在其自己的浏览器框架/窗口中运行,并直接与LMS通信,全部在相同的域上运行,这没有问题,因为不存在安全问题。我已经用我的代码尝试过这种情况,并且成功了。
为了实现模块在其他服务器上托管,我尝试使用类似于包装器的东西。这个包装器托管在LMS上,从外部加载内容,并通过postMessage与LMS通信。我尝试了这个开源项目:https://github.com/Didask/scol-r 但是我无法让它工作。每次都会出现错误:
我已经问过该项目的作者,但他根本没有答案。我建立了一个小型演示项目,使用React模拟LMS。添加指向我的外部内容服务器的包装器模块,其中托管了SCORM模块。
也许有人有想法或可以给我提示。我认为这是一些微不足道的东西。希望如此;)谢谢!
为了实现模块在其他服务器上托管,我尝试使用类似于包装器的东西。这个包装器托管在LMS上,从外部加载内容,并通过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”方法中。我已经问过该项目的作者,但他根本没有答案。我建立了一个小型演示项目,使用React模拟LMS。添加指向我的外部内容服务器的包装器模块,其中托管了SCORM模块。
也许有人有想法或可以给我提示。我认为这是一些微不足道的东西。希望如此;)谢谢!