当您在发布到 SCORM 的 Captivate 课程中单击退出按钮时,应用程序不会退出。我尝试了所有发布的方法。他们没有工作。Captivate 在版本 7 中处理 javascript 的方式不同。经过多次尝试,我终于找到了一个可以使用的钩子。该问题主要是由 Adobe 从未启动 LMSFinish 引起的。(奇怪,因为 SCORM 符合训练有两个要求,1. 触发 LMSInitialize 和 2. 触发 LMSFinish。)一旦你告诉 LMS 你完成了,LMS 可以清理窗口。网络培训模块不能使用 window.close 关闭窗口。所以进入解决方案。
在 $CaptivateInstallFolder/Templates/Publish/LMS/Standard/SCORM/default/js 文件夹中找到 Utilities.js。
找到以下...
function DoCPExit()
{
if(window != window.parent && window.parent && window.parent.hasOwnProperty("DoCPExit"))
{
window.parent.DoCPExit();
}
else
{
window.close();
}
}
并添加以下...
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();
}
}
我回答了自己的问题,但我认为有人可能会从我的痛苦中受益。LMS 可以关闭窗口,因为 LMS 打开了它。
我希望这可以帮助别人。