Foros del Web » Programando para Internet » Javascript »

setInterval NO funciona en FIREFOX

Estas en el tema de setInterval NO funciona en FIREFOX en el foro de Javascript en Foros del Web. Hola estoy usando el setinterval, en IE funciona OK, pero en fire fox no me lo toma. Como lo puedo solucionar. setInterval("MostrarConsulta('consulta_home.php'); return false;",1000); Gracias...
  #1 (permalink)  
Antiguo 26/08/2009, 09:06
Avatar de javiertkd  
Fecha de Ingreso: agosto-2008
Ubicación: Mendoza
Mensajes: 129
Antigüedad: 15 años, 8 meses
Puntos: 1
setInterval NO funciona en FIREFOX

Hola estoy usando el setinterval, en IE funciona OK, pero en fire fox no me lo toma. Como lo puedo solucionar.

setInterval("MostrarConsulta('consulta_home.php'); return false;",1000);


Gracias
  #2 (permalink)  
Antiguo 26/08/2009, 09:27
 
Fecha de Ingreso: agosto-2009
Mensajes: 14
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: setInterval NO funciona en FIREFOX

Prueba lo siguiente:

Código:
setInterval( mostrarConsultaInterval ,1000);



var mostrarConsultaInterval = function(){
     MostrarConsulta('consulta_home.php'); 
     return false;
}
El problema de pasar un string como primer parametro es que la función eval que usa internamente javascript es un poco compleja y puede fallar, sobre todo con funciones con parámetros.

Espero q te sirva
  #3 (permalink)  
Antiguo 26/08/2009, 09:34
Avatar de javiertkd  
Fecha de Ingreso: agosto-2008
Ubicación: Mendoza
Mensajes: 129
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: setInterval NO funciona en FIREFOX

alejandrogr
funciona de forma exceente, buen dato el que me das ya que no sabia de este problema con los prametros, Gracias `por la ayuda.

Saludos
  #4 (permalink)  
Antiguo 26/08/2009, 09:58
 
Fecha de Ingreso: agosto-2009
Mensajes: 14
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: setInterval NO funciona en FIREFOX

Como norma general, siempre que tengas que pasar una función con parámetros como parámetro de otra función haz el "truco" que te he puesto arriba.

Me alegro de haberte ayudado.

Saludos!
  #5 (permalink)  
Antiguo 26/08/2009, 12:52
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: setInterval NO funciona en FIREFOX

adicional, puedes crear una funcion anonima si necesitas usar varias instrucciones.
Código:
setInterval(function(){
instruccion1;
instruccion2;
...
}, 1000);
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 26/08/2009, 14:37
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: setInterval NO funciona en FIREFOX

Hola

Con permiso. Saliendome un poco del tema ¿qué quiere decir el error "no implementado" en IE?

El error salta en

window.onload = setTimeout(function() {funcion();},15)

Gracias
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 26/08/2009, 15:03
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: setInterval NO funciona en FIREFOX

@Adler:
honestamente que con exactitud no se a que se debe ese problema, pero sucede cuando se le asigna un numero al evento onload. si en lugar de setTimeout escribieras directamente un numero veras que el error se genera. recuerda que setTimeout, al igual que setInterval, devuelven un identificador numerico. comprobe con otros tipos de datos como string y objetos pero no devuelve el error, parece que solamente sucede con numero.

recuerdo antes haber visto el error "not implemented" pero no recuerdo exactamente que instruccion era. lo que quiero decir es que aparentemente hay varias cosas que en iexplorer no se pueden hacer porque, como bien lo dice el error, no lo tiene implementado, o equivalente a decir que no tiene soporte.

-- after edit --
acabo de descubrir que tambien sucede con undefined, ya sea implicito o explicito. es decir, ya sea una funcion que devuelve tal valor o directamente escribiendo el keyword undefined. nota: con null no sucede.

-- after after edit --
y por cierto, no se si he comprendido lo que quieres hacer, llamar una funcion despues de 15 milisegundos de haber cargado el documento. si es asi, podrias hacerlo asi:
Código:
window.onload = function(){setTimeout(funcion, 15);};
-- after after after edit --
tampoco se puede asignar un booleano en onload.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 26/08/2009 a las 18:33 Razón: mas informacion
  #8 (permalink)  
Antiguo 27/08/2009, 06:50
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: setInterval NO funciona en FIREFOX

zerokilled, como siempre perfecta tu explicación. Era justamente lo que buscaba.

Un saludo
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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:05.