Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/11/2009, 04:59
Witt3D
 
Fecha de Ingreso: noviembre-2009
Mensajes: 1
Antigüedad: 15 años, 3 meses
Puntos: 0
Archivo externo XML

Buenas es mi primer post, no soy programador ni nada solo hago cositas pequeñas y ahora estoy con mi web personal.

Tampoco tengo mucha idea con javascript, por eso si alguien me responde y
explica algo que sea como para un niño de 4 años Gracias de antemano.

A ver el problema, creo yo, es que cargo un xml externo con xmlDoc y creo que lo llamo sin que se cargue del todo, no se.

Pero es extraño porque de manera local me funciona perfectamente, y en la red también, solo que aparece el un error en la barra de abajo del explorador:

Para precisar mas este: 'document.getElementById(...) es nulo o no es un objeto.

Sin embargo si que lo muestra perfectamente y se ve todo perfecto.
Bueno os dejo el codigo Javascript que me esta matando:


Código:
<SCRIPT LANGUAGE="JavaScript"> 				

	   var xmlDoc=null;
                    if (window.ActiveXObject)
                    {// codigo para IE
                    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
                    }
                    else if (document.implementation.createDocument)
                    {// codigo para Mozilla, Firefox, Opera, etc.
                    xmlDoc=document.implementation.createDocument("","",null);
                    }
                    else
                    {
                    alert('Tu navegador no soporta esta funcion');
                    }
                    if (xmlDoc!=null) 
                    {
                    xmlDoc.async=false;
                    xmlDoc.load("destacado.xml");
                    var x=xmlDoc.getElementsByTagName("Destacado");
					var Destacados = new Array(x.length);
					
					for (var i=0;i<x.length;i++)
                    {  
					var Foto = x[i].getElementsByTagName("Foto")[0].childNodes[0].nodeValue;
					var Titulo = x[i].getElementsByTagName("Titulo")[0].childNodes[0].nodeValue;
					var Concepto = x[i].getElementsByTagName("Concepto")[0].childNodes[0].nodeValue;
					var Enlace = x[i].getElementsByTagName("Enlace")[0].childNodes[0].nodeValue;
					Destacados[i]=[Foto,Titulo,Concepto,Enlace];
					}
					}
					
					//Desordenar el Array aleatoriamente
					
					function fisher_yates(array){ 
						var i=array.length;
						while(i--){
							var j=Math.floor( Math.random() * (i+1) );
							var tmp=array[i];
							array[i]=array[j];
							array[j]=tmp;
						}
					}
					fisher_yates(Destacados);
							
					var f = -1;
					var p = -2;				
 

					mostrar_destacados();
					function mostrar_destacados(){
					f++;
					p++;
					if (f > x.length-1){
						f=0;
						p=-1;
						f++;
						p++;
						for (var i=p;i<f;i++)
							{
							document.getElementById('foto').src = 	Destacados[0][0];
							document.getElementById('titulo').innerHTML = 	Destacados[0][1];
							document.getElementById('concepto').innerHTML = 	Destacados[0][2];
							document.getElementById('enlacedir').href = Destacados[0][3];
							document.getElementById('foto2').src = 	Destacados[1][0];
							document.getElementById('titulo2').innerHTML = 	Destacados[1][1];
							document.getElementById('concepto2').innerHTML = 	Destacados[1][2];
							document.getElementById('enlacedir2').href = Destacados[1][3];
							}
					} else {
					for (var i=p;i<f;i++)
                    {
					document.getElementById('foto').src = 	Destacados[i][0];
					document.getElementById('titulo').innerHTML = 	Destacados[i][1];
					document.getElementById('concepto').innerHTML = 	Destacados[i][2];
					document.getElementById('enlacedir').href = Destacados[i][3];
					document.getElementById('foto2').src = 	Destacados[i+1][0];
					document.getElementById('titulo2').innerHTML = 	Destacados[i+1][1];
					document.getElementById('concepto2').innerHTML = 	Destacados[i+1][2];
					document.getElementById('enlacedir2').href = Destacados[i+1][3];
					}
					}
					}    

					
            
			 
</script>