Usuario:Fenwiki/monobook.js
Apariencia
Nota: Después de publicar, quizás necesite actualizar la caché de su navegador para ver los cambios.
- Firefox/Safari: Mantenga presionada la tecla Shift mientras pulsa el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
- Google Chrome: presione Ctrl+Shift+R (⌘+Shift+R en Mac)
- Edge: mantenga presionada Ctrl mientras pulsa Actualizar, o presione Ctrl+F5
/************ Módulo wQuiz **************/
//Versión 1.0, 18 de marzo de 2006
//[[w:Usuario:Comae/monobook.js]]
//Verificado en Opera 8.5, IE 6, Firefox 1.5
var wQuizAnswers=null, wQuizQuestions=null, wQuizQuestion=new Array(), wQuizAnswer=new Array(), wQuizPts;
function wQuizGetSelected(o){
for(i=0;i<o.length;i++) if(o[i].checked) return(i);
return(-1);
}
function wQuizOnResult(f){
var i=0, j=0, p1, p2;
wQuizPts=0;
p1=f.firstChild;
do{
if(p1.nodeName!='FIELDSET') continue;
p2=p1.firstChild.nextSibling.nextSibling.firstChild;
do{
if(p2.nodeName!='INPUT') continue;
if(p2.checked) wQuizCount(i,j);
j++;
}while(null!=(p2=p2.nextSibling));
j=0;
i++;
}while(null!=(p1=p1.nextSibling));
alert("Has obtenido "+wQuizPts+" en esta prueba.");
}
function wQuizCount(i,j){
if(wQuizQuestion[i][j]==wQuizAnswer[i])
wQuizPts++;
}
function wQuizGetItems(ident){
if(document.getElementById(ident)!==null){
var tmp=document.getElementById(ident).firstChild;
if(tmp.nodeName!='OL'){//Para !=IE
tmp=tmp.nextSibling;
}
return(tmp);
}else{return(null);}
}
function wQuiz()
{
if (document.getElementById && document.createElement)
{
var wQuizQuestions=wQuizGetItems('wquiz');
var wQuizAnswers=wQuizGetItems('wQuizAnswers');
if (!(null==wQuizQuestions || null==wQuizAnswers))
{
var a=wQuizCreate(wQuizQuestions, wQuizAnswers);
if(a!=0) wQuizQuestions.parentNode.innerHTML=a;
}
}
}
function wQuizCreate(questions, answers)
{
var txt='<form>', ptr, lista, i=0, j;
ptr=questions.firstChild;
do
{
if(ptr.nodeName!='LI') continue;
txt+='<fieldset><legend>Pregunta nº'+(i+1)+'</legend>'+ptr.firstChild.data+"\n<div>";
lista=ptr.getElementsByTagName('LI');
wQuizQuestion[i]=new Array();
for(j=0;j<lista.length;j++){
txt+='<input type="radio" id="preg'+i+'_'+j+'" name="preg'+i+'" value="'+lista[j].firstChild.data+'">'+lista[j].firstChild.data+'</input><br />\n';
wQuizQuestion[i][j]=lista[j].firstChild.data;
}
i++;
txt+='</div></fieldset>';
}while(null!==(ptr=ptr.nextSibling))
var i=0;
ptr=answers.firstChild;
do
{
if(ptr.nodeName!='LI') continue;
wQuizAnswer[i++]=ptr.firstChild.data;
}while(null!==(ptr=ptr.nextSibling))
return(txt+'<button onclick="wQuizOnResult(this.form); return(false);">Finalizar la prueba</button></form>');
}
/************ Fin módulo wQuiz **************/
/*********** Motor de módulos ***********/
/* Éste es el que pone en marcha los módulos.
/* No debes cambiar esta parte NUNCA.
/* Para configurar tus módulos, vete a la sección del
/* final, donde pone "Configuración de módulos".
/*********************************************************/
var plugin=new Array();
function pluginRun()
{
//Cargar todos los plugins
for (i=0;i<plugin.length;i++)
{
plugin[i]();
}
}
function pluginLoad(nombre)
{
plugin[plugin.length++]=nombre;
}
function pluginImport(nombre) //Cargar plugin(i)
{
document.write('<'+'script src="/w/wiki.phtml?title='+nombre+'&ctype=text/javascript&action=raw&dontcountme=s" type="text/javascript"><'+'/script>');
}
window.onload = pluginRun;
/****************** Configuración de módulos ******************/
/* Si quieres desactivar temporalmente un módulo, basta con
/* agregar dos barras "//" al principio de las líneas en las
/* que aparezca.
/**************************************************************/
//Activar plugins
pluginLoad(wQuiz);