Foros del Web » Programando para Internet » Javascript »

Out of Memory en JAVASCRIPT (setInterval(Cada MIL segundos))!!!

Estas en el tema de Out of Memory en JAVASCRIPT (setInterval(Cada MIL segundos))!!! en el foro de Javascript en Foros del Web. Hola, como es posible que FF se bloquee con este código: Código PHP: < html >< head >< script language = "JavaScript" > var  refresco = ...
  #1 (permalink)  
Antiguo 04/05/2008, 11:01
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Out of Memory en JAVASCRIPT (setInterval(Cada MIL segundos))!!!

Hola, como es posible que FF se bloquee con este código:
Código PHP:
<html><head><script language="JavaScript">
var 
refresco=null;
function 
titulo(m){
document.title=m;
m=m.substring(1,m.length)+m.charAt(0); 
refresco=setInterval(titulo(m),999999);
}
</script>
<title>Sam!</title></head><body>
<script language="JavaScript">
titulo('456789');
</script></body></html> 
IE Ni si quiera lo arranca, (al menos saca el mensaje "Out of Memory").

Por que éso?, pueden ver que el intervalo es cada MIL SEGUNDOS!!!
  #2 (permalink)  
Antiguo 04/05/2008, 16:05
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Re: Out of Memory en JAVASCRIPT (setInterval(Cada MIL segundos))!!!

hola, te equivocaste en setInterval mucha, recursion

Código HTML:
<html><head><script language="JavaScript">
var refresco=null;
function titulo(m){
document.title=m;
m=m.substring(1,m.length)+m.charAt(0); 
refresco=setTimeout(function(){titulo(m);},999999);
}
</script>
<title>Sam!</title></head><body>
<script language="JavaScript">
titulo('holas ----- ');
</script></body></html> 
aunq porq 999999 nunca va a avansar xD
saludos
adios..
:]
__________________
Aerolíneas Alicia :D
  #3 (permalink)  
Antiguo 04/05/2008, 17:31
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Re: Out of Memory en JAVASCRIPT (setInterval(Cada MIL segundos))!!!

El código que yo he pegado da el mismo error con setInterval o setTimeout, el comprtamiento es idéntico.

(Ya lo habia probado).
  #4 (permalink)  
Antiguo 05/05/2008, 10:15
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: Out of Memory en JAVASCRIPT (setInterval(Cada MIL segundos))!!!

loading..............

Pasa que estas entrando en TOO MUCH RECURSION y por eso no pasará nada en setTimeOut o setInterval

ve esto: refresco=setInterval(titulo(m),999999);

estas volviendo a llamar a titulo... y te crea otro setinterval y luego otra vez a titulo y luego otra vez a titulo y asi... hasta el infinito y mas alla.

connection closed.
__________________

Maborak Technologies
  #5 (permalink)  
Antiguo 05/05/2008, 16:28
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Re: Out of Memory en JAVASCRIPT (setInterval(Cada MIL segundos))!!!

Bueno, aqui da el mismo error y sin setInterval
Código PHP:
<html><head><script language="JavaScript">
function 
titulo(m){
document.title=m;
m=m.substring(1,m.length)+m.charAt(0); 
titulo(m);
}
</script>
<title>Sam!</title></head><body>
<script language="JavaScript">
titulo('P O L A N K A');
</script>
</body></html> 
  #6 (permalink)  
Antiguo 13/06/2008, 01:39
 
Fecha de Ingreso: febrero-2005
Ubicación: Cádiz
Mensajes: 50
Antigüedad: 19 años, 2 meses
Puntos: 2
Respuesta: Re: Out of Memory en JAVASCRIPT (setInterval(Cada MIL segundos))!!!

Cita:
Iniciado por Anarko Ver Mensaje
Bueno, aqui da el mismo error y sin setInterval
Código PHP:
<html><head><script language="JavaScript">
function 
titulo(m){
document.title=m;
m=m.substring(1,m.length)+m.charAt(0); 
titulo(m);
}
</script>
<title>Sam!</title></head><body>
<script language="JavaScript">
titulo('P O L A N K A');
</script>
</body></html> 
en teoria ha de ir de la forma:
Código PHP:
<html><head><script language="JavaScript">
var 
= ?; //inicializa externamente la variable m con lo que quieras
function titulo(){
document.title=m;
m=m.substring(1,m.length)+m.charAt(0); 
setTimeout(titulo(), 1000); //se actualiza cada segundo
}
</script>
<title>Sam!</title></head><body>
<script language="JavaScript">
titulo('P O L A N K A');
</script>
</body></html> 
Ya me cuentas, ¿va?
  #7 (permalink)  
Antiguo 13/06/2008, 01:47
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Out of Memory en JAVASCRIPT (setInterval(Cada MIL segundos))!!!

Hola:

Tanto setInterval como setTimeout, aceptan como primer parámetro una cadena, que internamente seguramente se le aplique un eval, así que prueben poner ese parámetro entrecomillado:

Código:
setTimeout("titulo()", 1000);
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 13/06/2008, 01:52
 
Fecha de Ingreso: febrero-2005
Ubicación: Cádiz
Mensajes: 50
Antigüedad: 19 años, 2 meses
Puntos: 2
Respuesta: Out of Memory en JAVASCRIPT (setInterval(Cada MIL segundos))!!!

Muy cierto, ya funciona, que error de novato
  #9 (permalink)  
Antiguo 10/07/2009, 10:14
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Out of Memory en JAVASCRIPT (setInterval(Cada MIL segundos))!!!

No toi seguro pero:
Lo lei de pasada estoi buscando algo similar:

<html>
<head>
<script language="JavaScript">

if (screen.width + "x" +screen.height == "640x480" location.href="pagina640x480.htm"

if (screen.width + "x" +screen.height == "800x600" location.href="pagina800x600.htm"

if (screen.width + "x" +screen.height == "1024x768" location.href="pagina1024x768.htm"

</script>
</head>
</html>
esto es el tema de las resoluciones. Angora ummm... no lo se si lo encuentro te lo respondo
  #10 (permalink)  
Antiguo 10/07/2009, 10:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Out of Memory en JAVASCRIPT (setInterval(Cada MIL segundos))!!!

Hola:

El tema se cierra por estar más de un año inactivo

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 17:55.