我在使用SCORM构建的非常简单的课程中遇到了问题。
我想与SCORM沟通的唯一方法是,课程是否已经开始 doLMSInitialize(),如果已经完成 doLMSFinish()。我正在使用http://scorm12.com/中的APIWrapper.js。
我有三个HTML文件:
index.html,代码如下:
<script language="text/javascript" src="jscript/APIWrapper.js"></script>
</head>
<BODY onLoad="doLMSInitialize();">
<a href="page-2.html">Page 2</a>
page-2.html,代码如下:
<script language="text/javascript" src="jscript/APIWrapper.js"></script>
</head>
<BODY>
<a href="end.html">End</a>
end.html,代码如下:
<script language="text/javascript" src="jscript/APIWrapper.js"></script>
</head>
<BODY onUnload="doLMSFinish()">
COMPLETE
但是当我退出第一页的课程时,LMS说我已经完成了课程。在我到达最后一页之前,我不会发生这种情况。
如果它有帮助你可以在我的imsmanifest.xml中找到我的文件:http://dl.dropbox.com/u/775928/scorm12-course.zip
答案 0 :(得分:1)
SCORM API只能初始化一次,并且需要在课程期间保持不变。从index.html导航到page-2.html将结束已在index.html中初始化的API连接。解决方案是使用框架集或iframe,并在父框架内维护API连接。
看看你的例子,我将使用以下设置:
jscript/APIWrapper.js
)和iframe以加载内容页面。此页面调用doLMSInitialize
onload。jscript/APIWrapper.js
。jscript/APIWrapper.js
。 end.html - 在index.html的iframe中加载。在父框架(index.html)中调用doLMSFinish
:
<script>
window.onload = parent.doLMSFinish;
</script>