5

当您在发布到 SCORM 的 Captivate 课程中单击退出按钮时,应用程序不会退出。我尝试了所有发布的方法。他们没有工作。Captivate 在版本 7 中处理 javascript 的方式不同。经过多次尝试,我终于找到了一个可以使用的钩子。该问题主要是由 Adob​​e 从未启动 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 打开了它。

我希望这可以帮助别人。

4

1 回答 1

0

您是说即使单击“X”控件(例如,窗口内的部分 SCORM 控件)它也不会正确关闭?还是仅当您关闭浏览器窗口本身时才这样做?

于 2014-01-30T18:39:49.707 回答