Foros del Web » Programando para Internet » Javascript »

Como ejecuto esta funcion cada cierto tiempo???

Estas en el tema de Como ejecuto esta funcion cada cierto tiempo??? en el foro de Javascript en Foros del Web. Tengo una funcion que vi en una web pero la quiero modificar para que se ejecute cada cierto tiempo digamos por ejemplo cada 3 segundos ...
  #1 (permalink)  
Antiguo 15/07/2006, 15:27
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 22 años, 5 meses
Puntos: 0
Como ejecuto esta funcion cada cierto tiempo???

Tengo una funcion que vi en una web pero la quiero modificar para que se ejecute cada cierto tiempo digamos por ejemplo cada 3 segundos sin que el usuario tenga que realizar accion alguna, como veran esta funcion ahora se ejecuta cada vez que el usuario presiona una tecla y eso es lo que quisiera cambiar por la ejecucion automatica cada 3 segundos. Es una funcion para emular el evento que se produce al presionar F5 (Refrescar la pagina) dado que lo necesito para usar en una pagina que es muy larga y carga datos desde una base de datos que se actualiza constantemente en una intranet, pero si uso la funcion reload en el head no consigo lo mismo dado que si por ejemplo se esta visualizando la misma con el scroll de la pagina al medio al "recargarse" esta vuelve el scroll hacia arriba y con esta funcion lo solucionaria, pero necesito eso poder hacerla ejecutar cada cierto tiempo, Desde ya muchas gracias. Aqui les dejo el code que quiero modificar

Código PHP:
document.onkeydown = function(){if(window.event){window.event.keyCode 116;} if(window.event && window.event.keyCode == 116){return false;}} 
__________________
:) Fernando Dichiera (:
[email protected]
  #2 (permalink)  
Antiguo 15/07/2006, 19:59
 
Fecha de Ingreso: julio-2005
Mensajes: 127
Antigüedad: 18 años, 10 meses
Puntos: 0
Hola, necesitas usar los intervalos de javascript:

Código:
var intevalo = setInterval('nombreFuncion',1000);
Así estableces que a un intervalo de 1seg se ejecute la función nombreFuncion

Para detener el intervalo haces
Código:
clearInterval(intervalo)
Saludos
  #3 (permalink)  
Antiguo 15/07/2006, 22:57
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 22 años, 5 meses
Puntos: 0
Es decir quedaria algo como esto ???

Código PHP:
<script type="text/javascript">
var 
intevalo setInterval('pepe',1000);

function 
pepe(){if(window.event){window.event.keyCode 116;} if(window.event && window.event.keyCode == 116){return false;}}  
</script> 
Haci nomas? entre las etiquetas y antes del final del head de la pagina y listo sin tener que llamar a la funcion desde ningun lado ???
__________________
:) Fernando Dichiera (:
[email protected]
  #4 (permalink)  
Antiguo 16/07/2006, 04:35
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Casi... al setIntervak hay que pasar la función como una cadena...
setInterval('pepe()',1000);

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 16/07/2006, 16:32
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 22 años, 5 meses
Puntos: 0
Bueno aqui el code completo, modificado, pero no anda !!!

Código HTML:
html> 
<head> 
<script type="text/javascript"> 
var intevalo = setInterval('pepe()',1000);

function pepe(){if(window.event){window.event.keyCode = 116;} if(window.event && window.event.keyCode == 116){return false;}}   
</script> 
</head> 
<body>
lo que sea que tenga que poner aqui
</body> 
</html> 
Alguna idea de que es lo que falta ??? o sera que este tipo de funcion no se puede ejecutar con un setInterval ???
__________________
:) Fernando Dichiera (:
[email protected]
  #6 (permalink)  
Antiguo 19/07/2006, 17:07
 
Fecha de Ingreso: julio-2005
Mensajes: 127
Antigüedad: 18 años, 10 meses
Puntos: 0
Estás ejecutando el código antes de que se carge la página.

Código:
haz window.onload = function {
var intevalo = setInterval('pepe()',1000);
}
Si usas firefox revisa la consola de javascript para que te de más información de porqué falló.
  #7 (permalink)  
Antiguo 30/09/2006, 22:17
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 22 años, 5 meses
Puntos: 0
Es posible que este script corra pues no logro hacerlo andar

Tengo el siguiente script que intento me genere un evento como si el ususario ubiese presionado la tecla F5 para refrescar el naveador....


Código:
<html> 
<head> 
<script type="text/javascript"> 

window.onload = function {
var intevalo = setInterval('pepe()',1000);
}

function pepe(){if(window.event){window.event.keyCode = 116;} if(window.event && window.event.keyCode == 116){return false;}}   

</script> 
</head> 
<body>
lo que sea que tenga que poner aqui
</body> 
</html>
Quiero lograr este efecto pues si hago un simple F5 (Reload) y estoy viendo una pagina "larga" que no entra verticalmente en la ventana del navegador esta quedaria en la posicion en la que la estaba lleyendo y si uso un relaod o refresh comun esta se recarga pero se posiciona en la parte inicial superior de la sitada page, se entiende, y en algun sitio (en ingles) lei que se podia generar mediante este code la emulacion del presionado de una tecla por ejemplo !!!

Alguien que me ayude ????
__________________
:) Fernando Dichiera (:
[email protected]
  #8 (permalink)  
Antiguo 03/10/2006, 23:08
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 22 años, 5 meses
Puntos: 0
toy como los locos me respondo solo, creo que lo que quiero no se puede hacer
__________________
:) Fernando Dichiera (:
[email protected]
  #9 (permalink)  
Antiguo 15/11/2006, 01:28
Avatar de Erick_pm  
Fecha de Ingreso: abril-2004
Mensajes: 55
Antigüedad: 20 años
Puntos: 1
Yo tengo lo siguiente:
Código:
<script type="text/javascript" charset="utf-8">

function getHTTPObject() {
  var xmlhttp;
 
  if(window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
  }
  else if (window.ActiveXObject){
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    if (!xmlhttp){
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    
}
  return xmlhttp;

  
}
var http = getHTTPObject(); // We create the HTTP Object



        var url = "contador.php"; // Documento a llamar (simple contador)
	   function handleHttpResponse() {	
		if (http.readyState == 4) {
			  if(http.status==200) {
			  	var results=http.responseText;
			  document.getElementById('online').innerHTML = results;
			  }
  			}
		}
		
	    function requestCustomerInfo() {      
            http.open("GET", url , true);
			http.onreadystatechange = handleHttpResponse;
			http.send(null);
			//setTimeout (requestCustomerInfo, 3000);
        }

/* Establece el tiempo 1 minuto = 60000 milliseconds. */ 
window.setInterval("requestCustomerInfo() ",3000); 

//setTimeout ("requestCustomerInfo() ", 3000);

</script>

</head>

<body>

<div id="online"><strong>Numero</strong>: 0</div>

</body>
</html>
Cada 3 segundos llama a un archivo PHP (contador.php) que me devuelve un numero aumentado en 1,
El problema esta en que no funciona en internet Explorer (la versión que tengo es la 7.0) pero si funciona en Mozilla Firefox(2.0), ¿Acaso es problema de configuración de mi internet explorer?
Agradecería bastante la ayuda prestada.

Nos leemos.
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 17:42.