Foros del Web » Programando para Internet » Javascript »

grabar en una variable la url del enlace pinchado

Estas en el tema de grabar en una variable la url del enlace pinchado en el foro de Javascript en Foros del Web. Hola a todos: necesito vuestra ayuda para solucionar un problemilla que me trae de cabeza. Soy novato en el lenguaje y seguro que entre todos ...
  #1 (permalink)  
Antiguo 10/03/2009, 17:05
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 132
Antigüedad: 15 años, 10 meses
Puntos: 1
grabar en una variable la url del enlace pinchado

Hola a todos: necesito vuestra ayuda para solucionar un problemilla que me trae de cabeza. Soy novato en el lenguaje y seguro que entre todos me podréis ayudar.

Os explico: tengo una página web con ejercicios prácticos en la que, cuando el alumno abandona la página de ejercicios debo grabar, a través de php y Mysql un registro en la base de datos con los resultados del ejercicio realizado.

Si el alumno se desplaza a través de un enlace de la página no habría problema porque podría saber qué enlace se ha pulsado. El problema viene si el alumno se desplaza con el botón atrás o tecleando directamente una url en la barra de herramientas. En estos caso no podría grabar el ejercicio realizado.

He pensado en crear un evento unload para comprobar este punto pero desconozco de qué forma puedo hacerlo. ¿Qué sentencia debo poner para saber la página a la que se dirige el navegador? Si tecleo "document.URL" me devuelve la página en la que estoy actualmente, que lógicamente no es la que busco. La que busco es la página nueva a la que se dirige.

Gracias de antemano por vuestra ayuda. Espero vuestra colaboración. Saludos
  #2 (permalink)  
Antiguo 10/03/2009, 17:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: grabar en una variable la url del enlace pinchado

mmm... Que yo sepa, no se puede, no se puede saber a qué lugar se dirige el usuario.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 11/03/2009, 03:27
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 132
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: grabar en una variable la url del enlace pinchado

Cita:
Iniciado por David el Grande Ver Mensaje
mmm... Que yo sepa, no se puede, no se puede saber a qué lugar se dirige el usuario.
Entonces... ¿Cómo puedo hacer para que al salir de la página se grabe la puntuación del ejercicio en la base de datos MySQL? Por decirlo así, cuando se produce el unload debo ejecutar un código php. ¿Como lo puedo hacer?

Muchas gracias por vuestra colaboración. Saludos
  #4 (permalink)  
Antiguo 11/03/2009, 03:57
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: grabar en una variable la url del enlace pinchado

Opción 1)Le agregás un botón que diga: Pulse aquí para grabar (si sale de la página los resultados se perderán.)

Opción 2)Grabás cada ejercicio realizado en background con AJAX o Iframe oculto, basándote en eventos como onfocus u onblur u onchange.

Opción 3)Le das un tiempo máximo para el ejercicio y grabás lo hecho al finalizar el tiempo (usarías un temporizador setInterval y mostrarías el tiempo restante en u cronómetro). Esta opción también debería tener el mensaje: si sale de la página los resultados se perderán.
  #5 (permalink)  
Antiguo 12/03/2009, 08:58
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 132
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: grabar en una variable la url del enlace pinchado

Cita:
Iniciado por Panino5001 Ver Mensaje
Opción 1)Le agregás un botón que diga: Pulse aquí para grabar (si sale de la página los resultados se perderán.)

Opción 2)Grabás cada ejercicio realizado en background con AJAX o Iframe oculto, basándote en eventos como onfocus u onblur u onchange.

Opción 3)Le das un tiempo máximo para el ejercicio y grabás lo hecho al finalizar el tiempo (usarías un temporizador setInterval y mostrarías el tiempo restante en u cronómetro). Esta opción también debería tener el mensaje: si sale de la página los resultados se perderán.

Lo primero gracias por tu ayuda. profundizando un poco más en mi caso personal os explico lo que he pensado para ver si os parece factible: la página de ejercicios, una vez respondida la pregunta se reenvía a un fichero php que analiza y graba la contestación del alumno y vuelve automáticamente a la página de ejercicios. Con este desarrollo, he pensado en utilizar una variable que al iniciar la página de ejercicios tome valor 0 y se introduzca en el enlace de contestación el valor 1, de forma que si se redirige a la página del fichero php esta variable sea 1, es decir, únicamente si el enlace es a la página de comprobación de la respuesta sería 1 y cualquier otro enlace sería 0.

En este caso, esta variable me indicaría, a través de la función unload, si debería grabar el ejercicio en la base de datos o no, es decir, si la variable es 0 tendrá que grabar el ejercicio puesto que no se dirige al fichero php. Entiendo que puede funcionar. ¿Puede ser?

Por otra parte, ¿Cómo puedo convertir una variable pasada a través de la URL en una variable JS?

Es posible que esté preguntando cosas un poco tontas, incluso de la primera lección de JS pero necesito vuestra ayuda. Como siempre, muchas gracias por vuestra ayuda. Saludos
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 14:19.