作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
当您在发布到 SCORM 的迷人类(class)中单击退出按钮时,应用程序不会退出。我尝试了所有发布的方法。他们没有工作。 Captivate 在版本 7 中处理 javascript 的方式不同。经过多次尝试,我终于找到了一个可以使用的钩子(Hook)。该问题主要是由 Adobe 从未触发 LMSFinish 引起的。 (这很奇怪,因为要使 SCORM 符合培训要求,有两个要求,1. 启动 LMSInitialize 和 2. 启动 LMSFinish。)一旦您告诉 LMS 您已完成,LMS 就可以清理窗口。 Web 培训模块不能使用 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 打开了它。
我希望这对某人有所帮助。
最佳答案
您是说即使单击“X”控件(例如,窗口内的部分 SCORM 控件)也无法正确关闭?还是仅当您关闭浏览器窗口时才会出现这种情况?
关于javascript - 结束迷人的 SCORM session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19260202/
我是一名优秀的程序员,十分优秀!