Foros del Web » Programando para Internet » Javascript »

Problema al cargar imagenes externas

Estas en el tema de Problema al cargar imagenes externas en el foro de Javascript en Foros del Web. El tema es que algo no es compatible con los de más navegadores, pero no se qué o por qué sus tituírlo. Se trata de ...
  #1 (permalink)  
Antiguo 03/02/2012, 01:52
 
Fecha de Ingreso: abril-2005
Ubicación: Barcelona
Mensajes: 101
Antigüedad: 19 años
Puntos: 0
Problema al cargar imagenes externas

El tema es que algo no es compatible con los de más navegadores, pero no se qué o por qué sus tituírlo. Se trata de hacer una especie de preloader, he buscado mucho pero en ningún sitio dan la función para saber previamente cuantas imágenes hay en una carpeta externa con JavaScript asi que me las apañé. Si alguien tiene algún aporte se agradece. Código:

function precarga(seccion){
var precarga = new Array(); //array para contener las img
for(var i = 1;i<15;i++){ //comienzo del bucle. 15 es aleatorio
cargaimg = new Image; //Creo una nueva imagen temporal
cargaimg.src = seccion+"/"+seccion+i+".jpg"; //Le asigno la ruta
if (cargaimg.complete == true){ //Cuando la carga sea completa
if (cargaimg.width == 0) { //Si el ancho es 0 es que no cargó img
cont = i-1; //asi que var cont es el n de img en carpeta
break; //y cierro el bucle
}else{
precarga[i] = cargaimg; //en otro caso la cargo en la array
}
}
}
}
  #2 (permalink)  
Antiguo 03/02/2012, 07:35
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Problema al cargar imagenes externas

yo prefiero usar createElement
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 03/02/2012, 08:16
 
Fecha de Ingreso: octubre-2010
Mensajes: 107
Antigüedad: 13 años, 6 meses
Puntos: 14
Respuesta: Problema al cargar imagenes externas

Con javascript no puedes saber la cantidad de imagenes en una carpeta porque js es del lado del cliente.
  #4 (permalink)  
Antiguo 03/02/2012, 08:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Problema al cargar imagenes externas

Cita:
Iniciado por MARCASTELEON Ver Mensaje
Con javascript no puedes saber la cantidad de imagenes en una carpeta porque js es del lado del cliente.
en efecto, no se puede, pero en la forma que él hace puede con un scritp del lado del server obtenerlo mediante AJAX
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 03/02/2012, 08:51
 
Fecha de Ingreso: abril-2005
Ubicación: Barcelona
Mensajes: 101
Antigüedad: 19 años
Puntos: 0
Respuesta: Problema al cargar imagenes externas

Mil gracias, alguien sabe dónde está la incompatibilidad con los navegadores. Sólo me funciona en Firefox...
  #6 (permalink)  
Antiguo 03/02/2012, 08:57
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Problema al cargar imagenes externas

Cita:
Iniciado por luis_cuvi Ver Mensaje
Mil gracias, alguien sabe dónde está la incompatibilidad con los navegadores. Sólo me funciona en Firefox...
ya le dije, use document.createElement
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 03/02/2012, 10:17
 
Fecha de Ingreso: abril-2005
Ubicación: Barcelona
Mensajes: 101
Antigüedad: 19 años
Puntos: 0
Respuesta: Problema al cargar imagenes externas

Entiendo, pero createElement, te crea, valga la redundancia, el objeto en un elemento html y la primera parte de mi función quiero que se haga de modo oculto o virtual, sólo es para comprobar la existencia de las imagenes. Quizás no entiendo a qué te refieres...
  #8 (permalink)  
Antiguo 03/02/2012, 11:32
 
Fecha de Ingreso: abril-2005
Ubicación: Barcelona
Mensajes: 101
Antigüedad: 19 años
Puntos: 0
Información Respuesta: Problema al cargar imagenes externas

Solucionado!! no encontré ningún modo mejor de hacerlo, el problema de compatibilidad estaba en el bucle for, creo que así queda más limpio además. Ahí va la explicación. Aún asi agradecería que si alguien conoce un modo mejor de saber los archivos de imagen que hay en una carpeta me lo haga saber. Un saludo y gracias igualmente.
Código:

var img = 1; //Creo la variable incremental
var cant; //Aqui meteré el nºfinal resultante
function imgprecarga(seccion){ //Inicio la función que servirá de bucle
var cargaimg = new Image(); //Creo la imagen que me servirá virtualmente de coballa para el experimento, jaja...
cargaimg.src = seccion+"/"+seccion+img+".jpg"; //Cargo la ruta como una de los atributos de la imagen. Sección dependerá de la variable definida en la función inicialmente
cargaimg.onload = function(){ //Cuando la imagen se cargue
if (cargaimg.width != 0) { //Compruebo si su ancho es distinto de 0. Esto evalúa si se ha cargado alguna imagen
cant = img; //Se asigna a la variable el valor incremental actual
img++; //Se suma uno a la incremental, de ahí su nombre...mmmm
imgprecarga(seccion); //Finalmente se ejecuta nuevamente la función
}
}
}

No me convence que se evalúe la existencia de la imagen con su ancho, si a alguien se le ocurre una idea mejor, please... que me lo diga. Saúdos
  #9 (permalink)  
Antiguo 03/02/2012, 12:27
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Problema al cargar imagenes externas

crear un elemento no implica que se añada directamente al DOM, por lo tanto pudo usar createElement, que es la forma más genérica para crear cualquier tipo de elementos para el DOM y hacer precarga de imágenes
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #10 (permalink)  
Antiguo 03/02/2012, 15:56
 
Fecha de Ingreso: abril-2005
Ubicación: Barcelona
Mensajes: 101
Antigüedad: 19 años
Puntos: 0
Respuesta: Problema al cargar imagenes externas

Ok, mil gracias por la aclaración, ya lo probé a parte. Por ahora la función me funciona ya asi y m doy por satisfecho, aún me queda mucho trabajo por delante. Estoy teniendo algún problemilla de compativilidad con firefox con el resto del código, a ver si lo saco.

Etiquetas: externas, imagenes
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 16:40.