Foros del Web » Programando para Internet » Javascript »

*.* Rotador de imágenes no funciona en Google Chrome

Estas en el tema de *.* Rotador de imágenes no funciona en Google Chrome en el foro de Javascript en Foros del Web. Saludos amigos y amigas. En internet me encontré un código para rotar Banner's ó imagenes cada X segundos. Le realicé cambios (lo adapté al sitio ...
  #1 (permalink)  
Antiguo 26/04/2011, 19:18
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 2 meses
Puntos: 7
Pregunta *.* Rotador de imágenes no funciona en Google Chrome

Saludos amigos y amigas.

En internet me encontré un código para rotar Banner's ó imagenes cada X segundos. Le realicé cambios (lo adapté al sitio que estoy desarrollando) y funciona perfectamente en Internet Explorer 9, Mozila Firefox 3.6, Safari 5, Opera pero no en Google Chrome versión 10

Revisé la configuración de Chrome y la opción de Javascript está habilitada. Entonces, no sé cuál puede ser el problema y por eso acudo a ustedes. Aquí les pase el código javascript.

En el archivo algo.html donde está las imágenes que se deben rotar incluyo:

1. La referencia del archivo externo:
Código Javascript:
Ver original
  1. <script type="text/javascript" src="jv/functions_jv.js"></script>


2. Llamo la función desde BODY
Código HTML:
Ver original
  1. <body onload="rotacion_banners();">

3. Y este es el código de la función "rotacion_banners()" que está en el archivo externo de javascript llamado "functions_jv.js".

Código Javascript:
Ver original
  1. //Banners
  2. img_ruta_banners = "";
  3. mis_banners = new Array("image/foto1.jpg","image/foto2.jpg");
  4.  
  5. //Banners target
  6. mis_banners_target = new Array("","");// Para poner links de la foto, en el caso que sea necesario.
  7.  
  8. mi_banner = 0;
  9. imgCt_banner = mis_banners.length;
  10.  
  11. function rotacion_banners()
  12. {
  13.         if (document.images)
  14.         {
  15.                     mi_banner++;
  16.                     if (mi_banner == imgCt_banner)
  17.                     {
  18.                             mi_banner = 0;
  19.                     }
  20.        
  21.        
  22.                     if(mis_banners_target[mi_banner] != "")// Es para convertir la imagen en link
  23.                     {
  24.                             img_ruta_banners="<img src="+COMA_DOBLE+mis_banners[mi_banner]+COMA_DOBLE+" style="+COMA_DOBLE+"cursor:pointer;"+COMA_DOBLE+" onclick="+COMA_DOBLE+"javascript:location.href="+COMA_SIMPLE+mis_banners_target[mi_banner]+COMA_SIMPLE+";"+COMA_DOBLE+" />";
  25.                     }
  26.                     else
  27.                     {
  28.                             img_ruta_banners="<img src="+COMA_DOBLE+mis_banners[mi_banner]+COMA_DOBLE+" />";   
  29.                     }
  30.  
  31.         document.getElementById('contenedor_A2').innerHTML=img_ruta_banners;
  32.         setTimeout("rotacion_banners()", 3 * 1000);
  33.  
  34.         }// if (document.images)
  35.  
  36. }//function

Agradezco su ayuda.
__________________
Loading...
  #2 (permalink)  
Antiguo 26/04/2011, 19:34
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: *.* Rotador de imágenes no funciona en Google Chrome

buenas,
a mi me funciona el codigo en chrome10. ¿especificamente en que parte te falla? ¿las imagenes se muestran? ¿no se dirige a la ruta asignada como enlace? siempre revisa la consola de error en chrome. me he fijado que hay dos variables sin declarar: COMA_SIMPLE y COMA_DOBLE.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 26/04/2011, 22:12
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 2 meses
Puntos: 7
De acuerdo Respuesta: *.* Rotador de imágenes no funciona en Google Chrome

Hola Zerokilled y amigos.

Las variables "COMA_SIMPLE" y "COMA_DOBLE" las tengo definidas en otro archivo javascript externo. Es un archivo donde uso variables como constantes por eso no lo incluí. Sin embargo tu observación es muy buena.

La parte que no funciona es el objetivo de la función. Es decir, no rota las 'N' cantidad de imágenes. Pero solo me pasa en Chrome. Revisaré y les comento.

Gracias.
__________________
Loading...
  #4 (permalink)  
Antiguo 26/04/2011, 22:19
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: *.* Rotador de imágenes no funciona en Google Chrome

pero... ¿no se muestra ni siquiera una imagen inicial al invocar la funcion? revisa las rutas de las imagenes. las imagenes deben estar en un directorio relativo al documento que carga el script.

@edit,
disculpa, obvie el detalle de que funciona en otros navegadores, de modo que las rutas no podrian ser.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 26/04/2011, 22:38
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 2 meses
Puntos: 7
De acuerdo Respuesta: *.* Rotador de imágenes no funciona en Google Chrome

Correcto amigo. Solo Chrome no rota las imágenes. Está como estático.
__________________
Loading...
  #6 (permalink)  
Antiguo 27/04/2011, 10:07
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 2 meses
Puntos: 7
Pregunta Respuesta: *.* Rotador de imágenes no funciona en Google Chrome

Hola amigos.

Realicé un cambio en la función y solo dejé el siguiente código:

Código Javascript:
Ver original
  1. function rotacion_banners()
  2. {
  3.    alert("Msje de Prueba");
  4.    setTimeout("rotacion_banners()", 3000);
  5. }

Con el código anterior debería aparecer un
Código:
alert();
cada 3 segundos.

Pero el problema persiste, no funciona en Chrome. Parece ser que es algo con la función setTimeout.

Realicé algunas variantes como:

setTimeout("rotacion_banners()", 3000);
window.setTimeout("rotacion_banners()", 3000);

Y leyendo en una página decía que setTimeout era para ejecutar una ves mientras que:

Código Javascript:
Ver original
  1. window.setInterval("rotacion_banners()", 3000);

se ejecutará en intervalos de X segundos. También realicé el cambio y nada que se soluciona.

En la consola de javascript que tiene Chrome aparece el mensaje que no sé que significa:

Cita:
Uncaught ReferenceError: rotacion_banneers is not defined
¿Que se imaginan que pueda ser?
Gracias
__________________
Loading...
  #7 (permalink)  
Antiguo 27/04/2011, 10:10
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: *.* Rotador de imágenes no funciona en Google Chrome

lo que significa el error es que estas usando un token, simbolo o identificador que no esta definido. probablemente porque lo has escrito mal. mi recomendacion es que subas un ejemplo a un hosting donde podamos replicar el problema.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 27/04/2011, 14:20
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 2 meses
Puntos: 7
De acuerdo Respuesta: *.* Rotador de imágenes no funciona en Google Chrome

Saludos zerokilled.

Ya logré solucionar el problema. Lo que hice fué lo siguiente:

Estuve observando otros post's de este foro y este link me sirvió mucho http://www.forosdelweb.com/f13/consu...ero-js-906322/

La función se llamaba desde <body> y ahora se llama antes del cierre de la etiqueta </body>. Ejemplo:

ANTES
Código Javascript:
Ver original
  1. <body onload="rotacion_banners();">

AHORA
.......
Código Javascript:
Ver original
  1. <script type="text/javascript">rotacion_banners();
  2. </script>
  3. </body>
  4. </html>

Bueno y gracias a Dios ya funciona en todos (los 5 más usados). Si me quedó duda el por qué Chrome no trabajó bien con el evento onload pero bueno, lo importante es que ya funciona. Eso es otro tema.

Muchas gracias zerokilled por tu valiosa ayuda.
__________________
Loading...
  #9 (permalink)  
Antiguo 27/04/2011, 14:24
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: *.* Rotador de imágenes no funciona en Google Chrome

me resulta curioso porque onload funciona correctamente en chrome.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #10 (permalink)  
Antiguo 27/04/2011, 15:04
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 2 meses
Puntos: 7
Respuesta: *.* Rotador de imágenes no funciona en Google Chrome

Cita:
Iniciado por zerokilled Ver Mensaje
me resulta curioso porque onload funciona correctamente en chrome.
Correcto amigo. Talvés sea alguna de las extensiones de Chrome que me esté afectado esa parte. Luego me daré cuenta.

Gracias.
__________________
Loading...
  #11 (permalink)  
Antiguo 27/04/2011, 15:07
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: *.* Rotador de imágenes no funciona en Google Chrome

inicia chrome con un perfil nuevo, asi obtienes todas las configuraciones por default.
chrome.exe --user-data-dir="ruta a un directorio del sistema"
ejecutable segun sea tu OS
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: chrome, rotador, banner
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 05:30.