我在使用 HTML5 SCORM 包时遇到了一些麻烦。
TL;博士; LMSFinish() 没有被调用。SCORM 中的 x.prototype.terminate() 也没有被调用,这让我相信这个包有问题。
LMSFinish() 应该在单击退出按钮(和/或关闭窗口)时调用。然而,LMSFinish() 中的 console.log() 和断点表明它没有被调用。
窗口打开时 LMSInitialise 很好,但是对于 LMSFinish 在检查 SCORM 内部的源并在 window.unload() 函数中放置断点后,我可以看到它只是退出的一部分。
window.unload 调用 closeLms(),而后者又运行经过混淆的 x.prototype.terminate()。这个终止函数似乎在调用一些其他函数之前进行布尔检查,最终导致调用 LMSFinish()。它永远不会走那么远。x.prototype.terminate() 中的布尔检查始终为假。如果我在控制台中将其设置为 true,则其他一些属性不存在,并且生成的函数调用将失败并出现错误。
有谁知道为什么 SCORM 无法运行 LMSFinish()?测试 SCORM 包只是 3 张幻灯片,没有交互。
编辑:唯一编写的自定义 javascript 是 SCORM API 的钩子(LMSInitialise、LMSFinish 等)这些是从 SCORM 包中的 javascript 调用的,由用户决定用来创建它的任何应用程序生成。(清晰,迷人等)