Sharable Content Object(SCO)可以认为是SCORM课件中最基本的独立单元,SCO具备与平台(LMS)交互的能力,这是区别Asset的重要标志。下图描述SCO与LMS之间通过API交互的模式。
Sharable Content Object(SCO)可以认为是SCORM课件中最基本的独立单元,SCO具备与平台(LMS)交互的能力,这是区别Asset的重要标志。下图描述SCO与LMS之间通过API交互的模式。
SCO是一个可以在浏览器中播放的对象,这个对象可以是html, xml, gif, swf等等或者它们的集合,但首先,SCO必须能够找到LMS创建的API对象,建立起与LMS通讯的途径。所以在一般的SCO中会有一段脚本是来发现这个API对象的。
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;
}
这段代码一般可以在APIWrapper.js这样的文件中找到。在html页面中可以看到这样的文件引用
<script language=javascript src="util/Photoshop_APIWrapper.js"></script>
当我们看到这个时我们就知道它是SCO了。
在制作SCO时我们首先会创建APIWrapper.js这样的脚本文件,这个文件中的函数实现了SCO与LMS交互的功能。结合页面中的事件再编写一些响应函数调研APIWrapper中的函数,这样一个基于页面的SCO就可以做成了。
Sharable Content Object(SCO)可以认为是SCORM课件中最基本的独立单元,SCO具备与平台(LMS)交互的能力,这是区别Asset的重要标志。下图描述SCO与LMS之间通过API交互的模式。
SCO是一个可以在浏览器中播放的对象,这个对象可以是html, xml, gif, swf等等或者它们的集合,但首先,SCO必须能够找到LMS创建的API对象,建立起与LMS通讯的途径。所以在一般的SCO中会有一段脚本是来发现这个API对象的。
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;
}
这段代码一般可以在APIWrapper.js这样的文件中找到。在html页面中可以看到这样的文件引用
<script language=javascript src="util/Photoshop_APIWrapper.js"></script>
当我们看到这个时我们就知道它是SCO了。
在制作SCO时我们首先会创建APIWrapper.js这样的脚本文件,这个文件中的函数实现了SCO与LMS交互的功能。结合页面中的事件再编写一些响应函数调研APIWrapper中的函数,这样一个基于页面的SCO就可以做成了。
参考网站:[url]www.tutormall.cn[/url]
本文转自
陈革 51CTO博客,原文链接: http://blog.51cto.com/chenge/59485,如需转载请自行联系原作者