Page 1 of 1
3.6.0.3 Chiusura automatica iframe visualizzazione scorm
Posted: Wed May 02, 2012 11:00 am
by davide.desimone
non riesco a far chiudere in modo automatico il frame di visualizzazione di un contenuto scorm alla fine di un modulo (alla chiusura del popup o premendo il tasto uscita nel modulo scorm).
il corso è generato con articulate presenter, alla chiusura del popup la pagina con il bottone "launch" si scarica ma l'iframe rimane aperto.
qualcuno sa darmi una soluzione?
Re: 3.6.0.3 Chiusura automatica iframe visualizzazione scorm
Posted: Wed May 02, 2012 11:37 am
by davide.desimone
come non detto, ho appena trovato la soluzione:
file /doceboLms/modules/scorm/player.js:
sostituire questa funzione:
Code: Select all
ScormPlayer.prototype.blankPageLoaded = function() {
/*if(window.close_player) {
var url = window.top.location.href;
url = url.slice(0, url.lastIndexOf("/"));
window.top.location.href = url + "/" + playerConfig.backurl;
} else {
this.playNext();
}*/
//if we are in a single sco environment we can close the player
if(window.close_player) {
window.top.onbeforeunload = null;
/*var url = window.top.location.href;
url = url.slice(0, url.lastIndexOf("/"));
window.top.location.href = url + "/" + playerConfig.backurl;*/
window.top.location.href = playerConfig.lms_base_url + "" + playerConfig.backurl;
} else {
this.playNext();
}
}
aggiungere questa funzione:
Code: Select all
ScormPlayer.prototype.singleSco = function() {
var item = this.xmlTree.selectNodes('//item[@resource!=""]');
if(item.length == 1) return true
else return false
}
file /doceboLms/modules/scorm/StdPlayer.js:
sostituire:
Code: Select all
StdUIPlayer.prototype.scormPlayerActionPerformer = function( evType, evValue) {
switch( evType ) {
case 'Initialize':
if( playerConfig.autoplay == '1' ) {
// set next scoid
var currScoId = this.scormPlayer.getCurrScoId();
var nextScoid = this.scormPlayer.getNextScoId(currScoId);
this.scormPlayer.setNextToPlay(nextScoid, this.cntSco);
}
break;
case 'Finish':
StdUIPlayer.refresh();
if(this.scormPlayer.singleSco()) window.close_player = true;
this.scormPlayer.play(null, this.cntSco);
break;
case 'BeforeScoLoad':
var elem = this.cntTree.ownerDocument.getElementById(evValue);
if(elem.className.indexOf('RunningSco') == -1) { elem.className += ' RunningSco' };
break;
}
}
Re: 3.6.0.3 Chiusura automatica iframe visualizzazione scorm
Posted: Thu May 03, 2012 3:01 pm
by robykirk
Ciao Davide,
scusa ma credo di non aver capito bene il problema che avevi... vorrei anche comprendere se è relativo alla sola versione 3.6.0.3 o anche alla 4.0.5.
Comunque sia, grazie per il fix.
Ciao
Re: 3.6.0.3 Chiusura automatica iframe visualizzazione scorm
Posted: Thu May 03, 2012 11:26 pm
by davide.desimone
No è solo per la 3.6.x, aprendo un modulo scorm si apre un lightbox con il modulo, nel mio caso veniva lanciato un popup, alla chiusura del popup la pagina del veniva scaricata ma il lightbox rimaneva aperto. Con la modifica Il lightbox si chiude. Non so se adesso è piu chiaro.
Nella 4.0.5 la pach è già integrata.
Re: 3.6.0.3 Chiusura automatica iframe visualizzazione scorm
Posted: Sat May 05, 2012 10:43 pm
by robykirk
Ti ringrazio, non capivo il problema in quanto non ho testato versioni differenti dalla 4.0.5.
Ciao