关闭一个Captivate SCORM会话

时间:2013-10-08 23:16:26

标签: javascript adobe scorm

当您单击发布到SCORM的Captivate课程中的退出按钮时,应用程序将不会退出。我尝试了所有发布的方法。他们没有工作。 Captivate不会在版本7中处理javascript。经过多次尝试,我终于找到了一个可以使用的钩子。问题主要是由Adobe永远不会解雇LMSFinish引起的。 (奇怪,因为有两个要求SCORM兼容训练,1。消防LMSInitialize和2.消防LMSFinish。)一旦告诉LMS你完成了,LMS可以清理窗口。 Web培训模块无法使用window.close关闭窗口。所以解决方案。

查找Utilities.js它位于$ CaptivateInstallFolder / Templates / Publish / LMS / Standard / SCORM / default / 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打开它。

我希望这有助于某人。

1 个答案:

答案 0 :(得分:0)

即使您单击“X”控件(例如,窗口内的部分SCORM控件),您说它也无法正常关闭?或者仅当您关闭浏览器窗口时才这样做?