Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Diseño Gráfico (http://www.forosdelweb.com/f6/)
-   -   Hacer accesible el botón volver (http://www.forosdelweb.com/f6/hacer-accesible-boton-volver-373185/)

hurricane 22/02/2006 10:05

Hacer accesible el botón volver
 
He pasado el control de TAWDIS y me da sólo un error de accesibilidad. El error es por un botón "Volver" que tiene una función Javascript, tiene la típica sentencia javascript:history.back(). Esto me da un error ya que no funcionaría en navegadores que no soporten Javascript

¿alguien sabe la menara de solucionarlo?

CORE 26/02/2006 21:25

Si entendi bien, estas utilizando un boton de formulario para hacer un enlace hacia atras, estos sirven para enviar informacion o resetear los campos de un formulario no para crear metodos de navegacion.

Lo que hay que hacer es mejor usar un enlace
Código HTML:

<a href="anterior.html">Atras</a>
el diseño es lo de menos ya que bien puedes aplicar el mismo diseño del boton con CSS

Se puede hacer un regreso de pagina con PHP y seria asi

Código PHP:

<?php <a href="".$_SERVER['HTTP_REFERER']."\">Regresar</a> ?>

seguramente validara perfecto pero validar no quiere decir que todos los problemas que puedan presentarse esten resueltos. ya que lo que hace esa linea es regresar a la pagina de donde se entro, y si llegara el usuario por Google? el enlace solo serviria para regresar a los resultados de la busqueda. lo que se puede hacer es usar sesiones y si no existe la sesion entonces que no aparesca el boton de regresar. eso seria mas conveniente.

saludos

kahlito 08/10/2008 04:11

Respuesta: Hacer accesible el botón volver
 
Hola, retomo este tema ya que aun no se como hacerlo exactamente.

Cuando se trata también el típico enlace "Volver atrás" (aunque no sea un botón, solo enlace html) ¿como sería la forma más accesible de hacerlo?.
Normalmente usaba esto:

Código HTML:

<p><a href="javascript:history.back()" class="enlace-volver" title="Volver">Volver</a></p>
¿Hay algún modo de hacerlo sin javascript?


Saludos. :-)

Mikmoro 08/10/2008 04:51

Respuesta: Hacer accesible el botón volver
 
Yo diría que no.

Yo lo hago con javascript no intrusivo en el html:

<a href="index.html" id="volver">Volver</a>

Archivo JS:

Cita:

function asignar(){
var volver = document.getElementById("volver");
volver.onclick = function(){
window.history.go(-1);
return false;
}
}
window.onload = function(){
asignar();
}
pero claro, en mi caso a esa página sólo se llega desde un sitio, y lo que hago es devolver al visitante a ese sitio mediante un enlace normal.

Ir atrás en la historia sin javascript me parece difícil. Si hay un menú bien claro y ordenado, con el que desde ahí puedas acceder a todas partes igualmente, quizá sea innecesario el botón de "volver".

kahlito 08/10/2008 18:40

Respuesta: Hacer accesible el botón volver
 
Hola Mikmoro.

No conocía esa opción con javascript intrusivo, muy buena :arriba: además me ha dado otra idea ya que veo que también funciona al tener javascript desactivado :arriba:

Gracias, saludos :adios:

Mikmoro 09/10/2008 02:04

Respuesta: Hacer accesible el botón volver
 
Cita:

Iniciado por kahlito (Mensaje 2611994)
No conocía esa opción con javascript intrusivo, muy buena

:risa: No, javascript NO intrusivo ;-)

Me alegro de que te sirva.

AlvaroG 09/10/2008 06:07

Respuesta: Hacer accesible el botón volver
 
Bueno, si se tiene acceso a programación del lado del servidor, todos los lenguajes brindan la información de la cabecera "Referer" si el navegador la define.
Por lo que una forma simple (aunque falla si el navegador no envía la cabecera Referer) en PHP podría ser:

Código PHP:

<a href="<?php echo $_SERVER['HTTP_REFERER']; ?>">Volver Atrás</a>


Salut

kahlito 09/10/2008 08:21

Respuesta: Hacer accesible el botón volver
 
Cita:

Iniciado por Mikmoro (Mensaje 2612286)
:risa: No, javascript NO intrusivo ;-)

Me alegro de que te sirva.

ajajaja ya veo que sí, anoche era algo tarde :borracho:

Cita:

Iniciado por alvlin (Mensaje 2612433)
Bueno, si se tiene acceso a programación del lado del servidor, todos los lenguajes brindan la información de la cabecera "Referer" si el navegador la define.
Por lo que una forma simple (aunque falla si el navegador no envía la cabecera Referer) en PHP podría ser:

Código PHP:

<a href="<?php echo $_SERVER['HTTP_REFERER']; ?>">Volver Atrás</a>


Salut

Buena opción, gracias :arriba:, aunque claro, ¿como se yo cuando el navegador no envía la cabecera Referer y cuando si?

Saludos :adios:

AlvaroG 09/10/2008 08:33

Respuesta: Hacer accesible el botón volver
 
No hay más remedio que preguntar por el largo de la cadena (http://php.net/strlen)
El problema es que no solamente puede no estar, sino que puede estar y tener un valor "basura", así que confiable, lo que se dice confiable, no es :-D

Mikmoro 09/10/2008 10:25

Respuesta: Hacer accesible el botón volver
 
Pues fíjate, yo pensé que podría haber algún método con PHP, pero luego recordé que en una conversación con U-golman sobre PHP, en un momento dado dijo: "el servidor no sabe que pasa en el cliente", y por eso pensé que si eso era cierto (que no sé casi nada de PHP), de la misma manera el servidor no podría conocer el historial del navegador cliente, y por lo tanto no sería capaz de ejecutar una función que devolviera al cliente un paso atrás.

No conocía la que has comentado, pero de todos modos, si no es muy fiable como dices, no haré mucho esfuerzo por investigar sobre ella :-D

David 09/10/2008 11:52

Respuesta: Hacer accesible el botón volver
 
Cita:

Iniciado por Mikmoro (Mensaje 2612900)
Pues fíjate, yo pensé que podría haber algún método con PHP, pero luego recordé que en una conversación con U-golman sobre PHP, en un momento dado dijo: "el servidor no sabe que pasa en el cliente"

Y eso es correcto, el servidor envía el resultado de la petición, por lo que después lo que pasa con los datos enviados "no sabe".

Pero hay que tener en cuenta que el cliente envía una petición, por lo que hay cosas que es posible determinar por las características y la cabecera de esa petición.

Saludos :adios:.

AlvaroG 09/10/2008 12:04

Respuesta: Hacer accesible el botón volver
 
No es que el servidor conozca el historial del cliente, sino que existe la cabecera HTTP "Referer" que indica la página de la que se viene.

Más información...
http://en.wikipedia.org/wiki/Referer

Mikmoro 09/10/2008 12:17

Respuesta: Hacer accesible el botón volver
 
Ah, ya, pues como he dicho, no tenía ni idea.

Gracias David y alvlin por aclararme conceptos (no es que me vaya a servir de mucho, pero siempre es bueno aprender :-) )

kahlito 09/10/2008 16:01

Respuesta: Hacer accesible el botón volver
 
Gracias a todos por la explicación :arriba:

También he aprendido algo nuevo, saludos :-)

LoBo2024 13/10/2008 09:09

Respuesta: Hacer accesible el botón volver
 
Basicamente los problemas que puedas tener con el referer puedes tenerlo con un history.back(-1); ;) así que antes de que sea javascript pos mejor que sea php que almenos funcionará bien el tema ;) o sino hacer comprobación de que en el referer este tu dominio si es asi ponlo y sino pos pones un enlace a la home o algo ;)

AlvaroG 13/10/2008 09:19

Respuesta: Hacer accesible el botón volver
 
Cita:

Iniciado por LoBo2024 (Mensaje 2617116)
Basicamente los problemas que puedas tener con el referer puedes tenerlo con un history.back(-1);

No concuerdo. En muchos casos se cumple pero no en este.
La principal diferencia es que el servidor (y por lo tanto PHP) tiene acceso solamente a lo que el navegador le manda en la cabecera Referer, mientras que Javascript tiene acceso al objeto history.

El navegador puede falsear la cabecera Referer, pero falsear el history sería algo inútil, y por lo tanto no se hace. Si está disponible Javascript (es decir, si el usuario no lo desactivó) es mucho más confiable history.back que el Referer de PHP.


Saludos.


La zona horaria es GMT -6. Ahora son las 09:10.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.