2011-02-25 20 views
6

encontré con algunas bromas Twitter de lo terrible que es usar¿Qué hay de malo con el uso de 'javascript: history.go (-1)'?

javascript:history.go(-1) 

por supuesto sin ninguna pista de por qué.

Si es tan terrible, ¿por qué? ¿Cuál es la alternativa? (además de history.back(), que parece hacer exactamente lo mismo). ¿Es una cuestión de compatibilidad con navegadores cruzados?

Por ejemplo, lo he visto utilizado en una página de error para permitir que los usuarios intenten "volver" usando lo anterior.

He intentado con google, pero fue inútil, con respecto a por qué sería tan horrible de usar. Cualquier puntero/explicación sería apreciado.

Gracias.

+0

La página no vuelve a cargar en el historial que he encontrado problemático en algunas páginas –

Respuesta

5

Se pueden haber estado refiriendo al uso del pseudo protocolo javascript:, que generalmente significa que este es el atributo href de un ancla, que es feo. No es un enlace real, y con JavaScript desactivado, no hará nada mientras se vea como un enlace funcional. Creo que el único uso válido para este protocolo es para bookmarklets.

Además, como Russell Dias points out, hace exactamente lo mismo que el botón Atrás, entonces ¿de qué sirve tenerlo? ¿Deberíamos tener también un botón de recarga que llame al window.location.reload()?

+0

buen punto en la redundancia esencialmente innecesaria – andryuha

+0

Interesante. Un ejemplo donde se requiere: el usuario en la página de resultados de búsqueda de productos usa filtros de formularios que cambian la visualización de sus resultados. Estos filtros actualizan la cadena de consulta. El usuario hace clic en un producto, en esa página de producto hay un enlace de "volver a resultados". El método JS volverá a colocar al usuario en la página con la cadena de búsqueda correcta para sus resultados, un enlace codificado no. –

3

Fuera de la cima de mi cabeza. Creo que este javascript simula el botón de retroceso del navegador. Uno nunca puede estar seguro de cómo un usuario llegó a determinada página, es decir, podría haber llegado a la página a través de un sitio externo. Por lo tanto, esta implementación simplemente los enviaría de vuelta, lo que podría no ser un resultado deseable.

+0

seguro, pero ¿y si ese es el comportamiento previsto, como en mi ejemplo de página de error? – andryuha

+0

+1 puntos válidos – alex

+0

@andryuha: sinceramente, si eso es un comportamiento sangrado, no veo nada malo en él. He visto sitios grandes que lo usan, aunque con moderación. –

Cuestiones relacionadas