2008-10-14 20 views

Respuesta

84
// use this to avoid redirects when a user clicks "back" in their browser 
window.location.replace('http://somewhereelse.com'); 

// use this to redirect, a back button call will trigger the redirection again 
window.location.href = "http://somewhereelse.com"; 

// given for completeness, essentially an alias to window.location.href 
window.location = "http://somewhereelse.com"; 

edición: parece que el usuario que ha publicado la mejor respuesta ha dejado así, me he consolidado sus respuestas aquí.

4

Una cosa importante que debe recordarse al redireccionar una página mediante JavaScript es proporcionar siempre una redirección que no sea de JavaScript. Un enlace haría, o mejor una etiqueta <META>, por ejemplo: <meta http-equiv="refresh" content="2;url=http://example.com">

24

más aconsejado? Para no hacerlo HTTP is far better suited to the job que JavaScript (los motores de búsqueda los siguen, puedes indicar si es permanente o no, son más rápidos, etc.).

Fallando eso y hellip;

Si desea una redirección inmediata:

window.location.replace('http://example.com/');

Esto reemplazará la actual URI con el nuevo URI en el historial del navegador, por lo que el botón de retroceso no aterrizarán al usuario en una página que los lanza de inmediato reenviar

Si usted realmente no quiere volver a dirigir, pero desea enviar al usuario en algún lugar en respuesta a un evento:

window.location.href = 'http://example.com/';

Recuerde que debe tener un repliegue no JavaScript. Un enlace suele ser la mejor opción, pero depende del contexto.

Los redireccionamientos con retraso de tiempo son una idea aún peor. La única razón para usarlos es si desea mostrar un mensaje al usuario, y los usuarios leen cosas a diferentes velocidades (y los tienen sentados en otra pestaña mientras hacen otra cosa). Si el mensaje es lo suficientemente importante como para mostrarlo, entonces debería ser lo suficientemente importante como para dejarlo en la pantalla hasta que el usuario lo haya leído y haya hecho clic en un enlace a la página siguiente.

4

En estos días, creo que el método más recomendado es not to do javascript (o meta) redirige. Realmente lo necesitas ? ¿Podría usar un encabezado HTTP de redireccionamiento en su lugar?

contenido Web del W3C Pautas de Accesibilidad (7.4) también desalentar la creación de páginas que se actualizan automáticamente, ya que la mayoría de los navegadores web no permiten al usuario desactivar o controlar la frecuencia de actualización

0

<script type="text/javascript"> 
 
function Redirect(){ 
 
    window.location.href = ("https://example.com"); 
 
} 
 
document.write("Please wait you will be redirected in 10sec"); 
 
setTimeout('Redirect(), 10000); 
 
</script>

0

<!-- begin snippet: js hide: false console: true babel: false -->

<script type="text/javascript"> 
function Redirect(){ 
    window.location.href = ("https://example.com"); 
} 
document.write("Please wait you will be redirected in 10sec"); 
setTimeout('Redirect(), 10000); 
</script> 
Cuestiones relacionadas