Foros del Web » Programando para Internet » Javascript »

desactivar codigocon window.onload

Estas en el tema de desactivar codigocon window.onload en el foro de Javascript en Foros del Web. Buenas tardes, tengo un codigo para actualizar el contenido de un chat cada un segundo, pero quiero que deje de actualizarse cuando uno de los ...
  #1 (permalink)  
Antiguo 06/08/2012, 13:51
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 11 meses
Puntos: 55
Pregunta desactivar codigocon window.onload

Buenas tardes, tengo un codigo para actualizar el contenido de un chat cada un segundo, pero quiero que deje de actualizarse cuando uno de los participantes se desconecto, entonces pense en hacerlo con window.onload pero no se como se desactiva un codigo completo con esta funcion

Use window.onload para desactivar un boton

Código Javascript:
Ver original
  1. <script>
  2. window.onload = function() {
  3. document.formulario.enviar.disabled=true;
  4.  }
  5.  </script>

entonces con eso ya no se puede usar el boton, pero como hago para desactivar un codigo del tipo...

Código Javascript:
Ver original
  1. <script>
  2. aqui el codigo para actualizar el chat
  3. </script>

hay que darle un nombre al codigo para relacionarlo con el window.onload? o algo asi, ya tengo la parte que mostrara el window.onload cuando uno d elos dos users se desconecte, gracias.
  #2 (permalink)  
Antiguo 07/08/2012, 00:13
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: desactivar codigocon window.onload

supongo que si estás actualizando laventana cada 1 segundo, estás utilizanzo setInterval()

en ese caso, primero inicializá el setInterval a través de una variable

var t;
t = setInterval('actualizar()', 1000);

cuando se cumpla una condición para detenerlo

clearInterval(t);

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 07/08/2012, 10:39
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 11 meses
Puntos: 55
Respuesta: desactivar codigocon window.onload

En realidad no estoy usando setinterval para actualizar el div del chat, uso este codigo que encontre por ahi:

Código Javascript:
Ver original
  1. <script>
  2. function refreshDivs(divid,secs,url)
  3. {
  4.  
  5. // define our vars
  6. var divid,secs,url,fetch_unix_timestamp;
  7.  
  8. // Chequeamos que las variables no esten vacias..
  9. if(divid == ""){ alert('Error: escribe el id del div que quieres refrescar'); return;}
  10. //else if(!document.getElementById(divid)){ alert('Error: el Div ID selectionado no esta definido: '+divid); return;}
  11. else if(secs == ""){ alert('Error: indica la cantidad de segundos que quieres que el div se refresque'); return;}
  12. else if(url == ""){ alert('Error: la URL del documento que quieres cargar en el div no puede estar vacia.'); return;}
  13.  
  14. // The XMLHttpRequest object
  15. var xmlHttp;
  16. try{
  17. xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
  18. }
  19. catch (e){
  20. try{
  21. xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
  22. }
  23. catch (e){
  24. try{
  25. xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  26. }
  27. catch (e){
  28. alert("Tu explorador no soporta AJAX.");
  29. return false;
  30. }
  31. }
  32. }
  33. // Timestamp para evitar que se cachee el array GET
  34. fetch_unix_timestamp = function()
  35. {
  36. return parseInt(new Date().getTime().toString().substring(0, 10))
  37. }
  38. var timestamp = fetch_unix_timestamp();
  39. var nocacheurl = url+"?t="+timestamp;
  40. // the ajax call
  41. xmlHttp.onreadystatechange=function(){
  42. if(xmlHttp.readyState==4){
  43. document.getElementById(divid).innerHTML=xmlHttp.responseText;
  44. setTimeout(function(){refreshDivs(divid,secs,url);},secs*1000);
  45. //actualizarListdos();
  46. }
  47. }
  48. xmlHttp.open("GET",nocacheurl,true);
  49. xmlHttp.send(null);
  50. }
  51. // LLamamos las funciones con los repectivos parametros de los DIVs que queremos refrescar.
  52. window.onload = function startrefresh(){
  53. refreshDivs('div1',1,'datos.php');
  54. }
  55. </script>

Funciona bien, pero me gustaria hacer que cuando uno de los dos se desconecte, el div deje de actualizarse, para ahorrarme algunas consultas innecesarias a la base de datos, crees que se podria hacer algo para cancelar este SCRIPT ?

Aunque si supieras como hacerlo con setinterval podria usar la solucion que me diste en el primer mensaje, tiene que hacer consultas a la base de datos, gracias.

Etiquetas: desactivar, formulario, funcion, botones
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 09:27.