Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/09/2011, 18:42
Avatar de Nicodemus
Nicodemus
 
Fecha de Ingreso: septiembre-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Mensaje Disparar Onload cada vez que inicio mi pagina web

Hola a todos en el foro... bueno soy nuevo en esto y espero me puedan ayudar con mi problema... soy Diseñador Grafico con muy basico conocimiento usando codigo JS, PHP, y HTML y quisiera ver si me pudieran ayudar.

Primero que nada por reglas del foro, no debo revivir temas con mas de 6 meses de antiguedad, posteo este nuevo tema con un problema quiza un poco mas complejo

En este foro (muy util por cierto) encontre una solución "parcial" a mi problema, el cual es el usar codigo JS solo la primera vez que se ejecuta onload en el tag <body> de mi página web (la cual usa php con includes) y el cual Artificium ayudo en la solucion de este tema:

Cita:
Iniciado por Artificium Ver Mensaje
...al principio de tu achivo pones esto, supongo que iría en el archivo donde defines el encabezado.
Código:
<?php 
    session_start();
?>
En la parte final de archivo colocas esto:

Código:
<?php 
    $_SESSION['ss'] = 1;   // en lugar de 'ss' puedes poner lo que te da la gana
?>
En la parte de tu función JavaScript harías algo así:

Código:
function loadLytebox(id) {
     var ss = '<?php echo $_SESSION['ss'] ?>';  
    /*Obviamente si cambias el otro 'ss' debes cambiar también este */
    if (!ss) {
       // Esto se ejecutaría solamente en la primera carga del archivo, mas no en las siguientes
    }
}
El codigo arriba mencionado, funciona perfectamente con todo JS dentro del condicionador IF.

Descripcion de mi página: Mi pagina esta basada en el gestor "Joomla", es decir usa php con includes y en esos includes está la etiqueta <body>, la cual cada vez que pase de una pagina a otra se llamara al evento onload (el cual manda llamar a su vez la funcion loadLytebox). Y este codigo ayuda ajecutar el JS solamente 1 vez a pesar de llamar nuevamente al evento onload.

Descripcion del problema:
Mencioné al principio que para mi era una solución "parcial", por que lo que necesito es que se ejecute una sola vez pero... cada vez que vuelva a entrar a la pagina necesito que se ejecute de nuevo, lo cual este codigo no hace.

Es decir; cargo mi pagina web por primera vez, se ejecuta el codigo perfectamente una sola vez mientras navego en mi pagina y luego cuando cierro la pestaña o salgo de esa pagina web a otra y y nuevamente entro a mi pagina web... ya sea en una pestaña nueva o en la misma... el codigo JS ya no se ejecuta...

Posible solución:
Busque varias opciones como borrar cookies, hacer unset la variable $_SESSION['ss'], usar el codigo PHP session_destroy(), o incluso tratar de cambiar el valor de la variable, siempre accionado por el evento onunload pero... sin resultados... quiza por mi nula experiencia en estos lenguajes no pude hacerlo funcionar.

Espero me puedan ayudar y muuuchas gracias de antemano por la ayuda a este pobre novato :D

Última edición por Nicodemus; 20/09/2011 a las 18:51