Comunidad de diseño web y desarrollo en internet online

Galería con XML que funciona en mozilla pero no en explorer

Citar            
MensajeEscrito el 18 Abr 2005 02:17 pm
He creado una galería de imágenes que carga de modo externo con xml que contiene los datos de las imágenes.
El problema es que esta galería funciona perfectamente con Mozilla Firefox, pero no con el Internet explore, ¿porqué? No logro averiguarlo.

El código que comunica la película con el xml y con las imágenes es este:


//FUNCION PARA COMPROBAR SI EL XML HA SIDO CARGADO//
function loadXML(loaded) {
if (loaded) {
//archivo xml cargado
xmlNode = this.firstChild;
image = [];
tit = [];
xi = [];
yi = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
tit[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
xi[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
yi[i] = xmlNode.childNodes[i].childNodes[3].firstChild.nodeValue;
}
firstImage();
} else {
//archivo xml no cargado
content = "Fichero XML no cargado!";
}
}
//PRINCIPAL//
xmlData = new XML(); //Nuevo objeto XML
xmlData.ignoreWhite = true; //Ignorar espacios en blanco
xmlData.onLoad = loadXML; //LLamamos a loadXML()
xmlData.load("multimedia.xml"); //cargamos XML

//**FUNCIÓN LOADJPG CARGA IMÁGNES**//
movieclip.prototype.loadjpg = function(obj, img, posx, posy) {
obj.loadMovie(img);
obj._x = posx;
obj._y = posy;
};
//FUNCION PARA NAVEGAR CON TECLADO//
listen = new Object();
listen.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
prevImage();
} else if (Key.getCode() == Key.RIGHT) {
nextImage();
}
};
//NAVEGACION POR BOTONES//
Key.addListener(listen);
previous_btn.onRelease = function() {
prevImage();
};
next_btn.onRelease = function() {
nextImage();
};
//PRECARGA DE IMAGENES//
p = 0;
this.onEnterFrame = function() {
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
preloaderfotos._visible = true;
if (loaded != filesize) {
preloaderfotos.preload_bar._xscale = 100*loaded/filesize;
} else {
preloaderfotos._visible = false;
if (picture._alpha<100) {
picture._alpha += 10;
}
}
};
//FUNCION AVANZAR IMAGEN//
function nextImage() {
if (p<(total-1)) {
p++;
if (loaded == filesize) {
picture._alpha = 0;
loadjpg(picture,image[p],xi[p],yi[p]);
tit_txt.text = tit[p];
}
}else if (p=(total)){
p=0;
if (loaded == filesize) {
picture._alpha = 0;
loadjpg(picture,image[p],xi[p],yi[p]);
tit_txt.text = tit[p];
}
}
}
//FUNCION IMAGEN ANTERIOR//
cero=0
function prevImage() {
if (p>0) {
p--;
picture._alpha = 0;
loadjpg(picture,image[p],xi[p],yi[p]);
tit_txt.text = tit[p];
}else{
p=total-1;
picture._alpha = 0;
loadjpg(picture,image[p],xi[p],yi[p]);
tit_txt.text = tit[p];
}
}
//FUNCION QUE CARGA LA PRIMERA IMAGEN//
function firstImage() {
if (loaded == filesize) {
picture._alpha = 0;
loadjpg(picture,image[p],xi[p],yi[p]);
tit_txt.text = tit[p];
}
}
//FUNCION PARA DIRECCIONAR A IMAGEN//
descripcion = function()
{
getURL(image[p], "_blank");
}
ref_btn.onRelease = descripcion;


Lo cogí de un tutorial y lo adapté a mis necesidades. Funciona bien menos en el explorer.
No sé si el problema está aquí o en el html en el que se mete la película, pero ese no tiene nada, sólo la peli centrada.

Gracias.

Por Rasangar

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Abr 2005 02:35 pm
Por si sirve de algo, este es el tutorial que cogí:

http://www.webnueva.com/crono/tutoriales/htm/galeria1.htm

Y decir que lo único que he añadido que no estuviera en el tutorial es esta parte:


//**FUNCIÓN LOADJPG CARGA IMÁGNES**//
movieclip.prototype.loadjpg = function(obj, img, posx, posy) {
obj.loadMovie(img);
obj._x = posx;
obj._y = posy;
};


Y con ello modifique la manera en que las imágenes se cargan.
Esta debe ser la parte que de problemas. El tutorial sin ella sí funciona en el explorer.
Tuve que añadir esto para que al ir hacía adelante y hacia atrás con los botones en las imágenes se pudiera pasar de la última a la primera (si no no pasaba más y había que ir hacia atrás), y, yendo hacia atrás, de la primera a la última.

Por Rasangar

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Abr 2005 03:04 pm
Y esta es la estructura del XML:


<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<images>
<pic>
<image>\carpeta\nombrefoto.jpg</image>
<caption>Título</caption>
<caption>271</caption>
<caption>67.5</caption>
</pic>


Las dos cifras, 271 y 67.5, son las ubicaciones x e y de la foto dentro de la película.

Por Rasangar

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Abr 2005 03:14 pm
Se me olvidó decir que la función que añadí servía también para ubicar las imagenes totalmente centradas, y no desde desde la esquina en ninguna posición concreta (son imágenes de diferentes tamaños, unas apaisadas y otras verticales)

Por Rasangar

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Abr 2005 04:53 pm
Si no te funciona en IE es por culpa del bug del MovieClipLoader, a mi me está pasando actualmente lo mismo con mi galería multimedia.

Deu!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

clabbrowser
Citar            
MensajeEscrito el 18 Abr 2005 06:23 pm
Gracias,
y eso ¿cómo se arregla?

Por Rasangar

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Abr 2005 06:27 pm
Pero no uso ningún MovieClipLoader, uso loadMovie, etc...

Por Rasangar

11 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.