[tr][td]也许你在设计SCORM教材的时候有这样一个需求,当学员学完一章课程后,将该课程设置为完结,然后让平台自动帮助你跳转到下一个课程。在标准的SCORM设计中是有这个策略的,但是MOODLE平台中却对个功能的支持并不是很完善!在MOODLE中无法进行logout当前课程,并进入下一个章节。
在我的SCORM的DEMO中,我只能通过在MOODLE中的导航栏里进行课程的跳转。在SCORM的课件包中,我无法通过API脚本去跳转节点。 后来通过TOM大牛用GOOGLE和他强大的E文在MOODLE的官网上找到了这样一篇文章。原文如下: Since Moodle does not fully support SCORM 2004 and with SCORM 1.2 SCOs are completely unaware of each other, it seems unlikely that navigation within your SCO would do any good. Luckily for us, Moodle provides navigation buttons for us to get us from one SCO to the other. This navigation is still outside the SCO though. Let’s say you wanted have the SCO open in a new window and have the navigation buttons inside that popup, well with a bit of clever javascript, you can. 简单的说是moodle对SCORM 2004和SCORM 1.2 SCOs的支持并不是特别完整,跳转完全依赖于左侧的树形导航,如果树形导航被隐藏了就无法让用户去跳转课程了,如果需要在MOODLE上进行课程节点的完整跳转可以使用一下他提供的JS方法。 <div class="line number2 index1 alt1"style="background-image: none !important; box-sizing: content-box !important; position: static !important; padding-bottom: 0px !important; line-height: 1.1em !important; border-right-width: 0px !important; overflow-x: visible !important; overflow-y: visible !important; background-color: white !important; margin: 0px; padding-left: 1em !important; outline-width: 0px !important; width: auto !important; bottom: auto !important; padding-right: 1em !important; white-space: pre !important; float: none !important; border-top-width: 0px !important; border-bottom-width: 0px !important; height: auto !important; font-size: 1em !important; vertical-align: baseline !important; border-left-width: 0px !important; top: auto !important; right: auto !important; padding-top: 0px !important; left: auto !important; border-image: initial; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; background-origin: initial; background-clip: initial">var p; var n; var e; window.Xonload= function() { //Should be window.onload not window.Xonload, not sure what this text editor is doing init(); } function init() { p = window.opener.document.getElementsByName("prev"); if (p.length == 1) { p[0].style.visibility = "hidden"; document.getElementById("lbBack").className = ""; } n = window.opener.document.getElementsByName("next"); if (n.length == 1) { n[0].style.visibility = "hidden"; document.getElementById("lbNext").className = ""; } var elements = window.opener.document.getElementsByTagName("div"); for (i = 0; i < elements.length; i++) { if (elements.className == "navbutton") { elements.style.visibility = "hidden"; e = elements.getElementsByTagName("a")[0].href; i = elements.length; } } setComplete(); } function next() { n[0].click(); } function previous() { p[0].click(); } function exit() { window.opener.location.href=e; window.close(); } [/td][/tr] |
|