function findAPI( win )
{
while ( (win.API_1484_11 == null) &&
(win.parent != null) &&
(win.parent != win) )
{
findAPITries++;
if ( findAPITries > 500 )
{
alert!( "Error finding API -- too deeply nested." );
return null;
}
win = win.parent;
}
return win.API_1484_11;
}
위의 소스는 scorm 컨텐츠안에 들어 있는 js 파일의 필수 펑션이다. 이 펑션에서 보다시피 학습창에서 API_1484_11 이름의 object 를 찾는다. 이 오브젝트는 js 로 만들수도 있고 클래스로 만들수도 있고 다양하다.
그럼 학습창 프로그램은 어떻게 해야 하는가?
<script>
// Constants
SCORM_2004 = "V1p3";
SCORM_12 = "V1p2";
// FrameMgr is called from all frames
var g_frameMgr = new FramesetManager;
var g_scormVersion = "<%=ScormVersionHtml %>"; // Version of current session
var API_1484_11 = null; // Name of RTE object for 2004 -- name is determined by SCORM.
var API = null; // Name of RTE object for 1.2 -- name is determined by SCORM
// Internal RTE object -- it's the same object as the api objects, just easier to reference.
var g_API = g_frameMgr.GetRteApi(g_scormVersion, <%=RteRequired %>);
if (g_scormVersion == SCORM_2004)
{
API_1484_11 = g_API;
}
else
{
API = g_API;
}
</script>
댓글 없음:
댓글 쓰기