Foros del Web » Programando para Internet » Javascript »

Archivo externo XML

Estas en el tema de Archivo externo XML en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/11/2009, 04:59
 
Fecha de Ingreso: noviembre-2009
Mensajes: 1
Antigüedad: 14 años, 5 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>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:48.