Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] JS me ejecuta funciones al cargar y no quiero.

Estas en el tema de JS me ejecuta funciones al cargar y no quiero. en el foro de Javascript en Foros del Web. Hola, buenas a todos. Hacía mucho que no me pasaba por aquí, ustedes son mi último recurso cuando desespero. La cuestión es esta: tengo un ...
  #1 (permalink)  
Antiguo 24/03/2015, 18:41
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jalisco, México
Mensajes: 38
Antigüedad: 11 años, 7 meses
Puntos: 1
Exclamación JS me ejecuta funciones al cargar y no quiero.

Hola, buenas a todos.

Hacía mucho que no me pasaba por aquí, ustedes son mi último recurso cuando desespero. La cuestión es esta: tengo un archivo javascript donde metí tres funciones que tienen que ver con cookies. Éstas funciones no deberían ejecutarse si YO NO SE LOS INDICO. O sea, las funciones se ejecutan solitas al cargar el archivo. Y sólo esas 3.
Lo que me imagino, es que al tener elementos de cookies dentro, toman otra jerarquía o no sé; soy nuevo con esto de las cookies pero presiento que esto no debería pasar. Les pongo el código y les explico un poco mas:

Código:
function checarGalleta(){
	alert("Checando galleta");
	if((document.cookie == "idioma=es") || (document.cookie == "idioma=en")){
		//Nada.
	} else {
		document.cookie = "idioma=es";
	}
	alert(document.cookie);
}
function checarIdiomaGalleta(){
	alert("Checando idioma de galleta");
	if(document.cookie != "idioma=es"){
		idiomaActual = "es";
		alert("Español");
	} else {
		idiomaActual = "en";
		alert("Inglés");
	}
}
function cambiarIdiomaGalleta(){
	alert("Cambiando idioma de galleta");
	if(document.cookie != "idioma=es"){
		idiomaActual = "en";
		alert("Idioma nuevo Inglés");
	} else{
		idiomaActual = "es";
		alert("Idioma nuevo Español");
	}
}
Al iniciar la página, así tal cual sin apretar a nada, me saltan todos los alert(); dándome los datos y estableciendo valores para las cookies sin que yo llame a la función en ningún lugar. Tengo muchas más funciones pero las demás no brincan sin permiso, ya sea que estén declaradas antes o después de estas tres. Quiero saber si alguien puede decirme como corregir esto, de muchísimo favor.

Gracias de antemano.
  #2 (permalink)  
Antiguo 24/03/2015, 19:25
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: JS me ejecuta funciones al cargar y no quiero.

¿Tienes alguna página de ejemplo?

Cuando pego ese mismo código en JSFIDDLE no me aparece ninguna alerta...
__________________
¿Te sirvió la respuesta? Deja un +1
  #3 (permalink)  
Antiguo 25/03/2015, 09:00
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jalisco, México
Mensajes: 38
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: JS me ejecuta funciones al cargar y no quiero.

http://altos.co/

Probablemente si entras, puedas ver o no las alertas, porque lo ando modificando. Voy a tratar de dejárselas.
A esas tres funciones las llamo dentro de otra función, cosa que igual no debería afectar porque esa función grande sólo se activa si yo presiono un botón.

Código:
function cambiarGeneral(){
		checarGalleta();
		checarIdiomaGalleta();
		if(idiomaActual == 'es'){
			//Si es "español", entonces a ingles.
                } else {
                        //Si es "inglés", poner en español.
                }
                cambiarIdiomaGalleta();
}
Se supone que esa función se ejecuta hasta que yo presione el botón de cambiar idioma, pero al entrar en la página saltan todas.
  #4 (permalink)  
Antiguo 25/03/2015, 09:15
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: JS me ejecuta funciones al cargar y no quiero.

No se porqué no me cambia al idioma inglés.
Te dejo un "log":

Cita:
Alertas al entrar:

1. Checando galleta
2. _ga=1;_ga=(muchos números); idioma=es
3. Checando idioma de galleta
4. Español

Cuando cambio el idioma a inglés:

1. Checando galleta
2. Creando galleta
3. _ga=1;_ga=(muchos números); idioma=es
4. Checando idioma de galleta
5. Español
6. Cambiando idioma de galleta
7. Idioma nuevo Inglés

Cuando la cambio de inglés a español:

1. Checando galleta
2. Creando galleta
3. _ga=1;_ga=(muchos números); idioma=es
4. Checando idioma de galleta
5. Español
6. Cambiando idioma de galleta
7. Idioma nuevo Inglés
Y no me cambia el idioma. Se queda en inglés.
__________________
¿Te sirvió la respuesta? Deja un +1
  #5 (permalink)  
Antiguo 31/03/2015, 16:05
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jalisco, México
Mensajes: 38
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: JS me ejecuta funciones al cargar y no quiero.

Me seguí quebrando la cabeza y lo resolví poco después. Resulta que era un fallo del navegador, que, NO SE POR QUE, pero tuve que desinstalarlo, reinstalarlo y como nuevo. No era del código. Ya funciona correctamente, solo olvidé marcarlo como resuelto.

Gracias igualmente. (y)

Etiquetas: cookies, funciones
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 19:34.