it-swarm-es.tech

¿Cómo redirigir a otra página web?

¿Cómo puedo redirigir al usuario de una página a otra usando jQuery o JavaScript puro?

7729
venkatachalam

Uno no simplemente redirecciona usando jQuery

jQuery no es necesario, y window.location.replace(...) simulará mejor un redireccionamiento HTTP.

window.location.replace(...) es mejor que usar window.location.href, porque replace() no mantiene la página de origen en el historial de la sesión, lo que significa que el usuario no se quedará atascado en un fiasco de botón de retroceso que nunca termina.

Si desea simular a alguien haciendo clic en un enlace, uselocation.href

Si desea simular una redirección HTTP, uselocation.replace

Por ejemplo:

// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";
13935
Ryan McGeary

ADVERTENCIA: Esta respuesta simplemente se ha proporcionado como una posible solución; obviamente es no la mejor solución, ya que requiere jQuery. En su lugar, prefiere la solución de JavaScript puro.

$(location).attr('href', 'http://stackoverflow.com')
1570
Boris Guéry

Forma estándar de JavaScript de "Vanilla" para redireccionar una página:

window.location.href = 'newPage.html';


Si está aquí porque está perdiendo HTTP_REFERER al redireccionar, siga leyendo:


La siguiente sección es para aquellos que usan HTTP_REFERER como una de las muchas medidas seguras (aunque no es una gran medida de protección). Si está utilizando Internet Explorer 8 o más bajo, estas variables se pierden cuando se usa cualquier forma de redireccionamiento de páginas de JavaScript (location.href, etc.).

A continuación, vamos a implementar una alternativa para IE8 y menor para que no perdamos HTTP_REFERER. De lo contrario, casi siempre puedes usar simplemente window.location.href.

Las pruebas con HTTP_REFERER (pegado de URL, sesión, etc.) puede ayudan a determinar si una solicitud es legítima. ( Nota: también hay formas de evitar/falsificar estas referencias, como se señala en el enlace de droop en los comentarios)


Solución de prueba simple para múltiples navegadores (alternativa a window.location.href para Internet Explorer 9+ y todos los demás navegadores)

Uso: redirect('anotherpage.aspx');

function redirect (url) {
    var ua        = navigator.userAgent.toLowerCase(),
        isIE      = ua.indexOf('msie') !== -1,
        version   = parseInt(ua.substr(4, 2), 10);

    // Internet Explorer 8 and lower
    if (isIE && version < 9) {
        var link = document.createElement('a');
        link.href = url;
        document.body.appendChild(link);
        link.click();
    }

    // All other browsers can use the standard window.location.href (they don't lose HTTP_REFERER like Internet Explorer 8 & lower does)
    else { 
        window.location.href = url; 
    }
}
579

Hay muchas maneras de hacer esto.

// window.location
window.location.replace('http://www.example.com')
window.location.assign('http://www.example.com')
window.location.href = 'http://www.example.com'
document.location.href = '/path'

// window.history
window.history.back()
window.history.go(-1)

// window.navigate; ONLY for old versions of Internet Explorer
window.navigate('top.jsp')


// Probably no bueno
self.location = 'http://www.example.com';
top.location = 'http://www.example.com';

// jQuery
$(location).attr('href','http://www.example.com')
$(window).attr('location','http://www.example.com')
$(location).prop('href', 'http://www.example.com')
392
Govind Singh

Esto funciona para todos los navegadores:

window.location.href = 'your_url';
302
Fred

Te ayudaría si fueras un poco más descriptivo en lo que estás tratando de hacer. Si está intentando generar datos paginados, hay algunas opciones en cómo hacer esto. Puede generar enlaces separados para cada página a la que desea acceder directamente.

<a href='/path-to-page?page=1' class='pager-link'>1</a>
<a href='/path-to-page?page=2' class='pager-link'>2</a>
<span class='pager-link current-page'>3</a>
...

Tenga en cuenta que la página actual en el ejemplo se maneja de manera diferente en el código y con CSS.

Si desea que los datos paginados se cambien a través de AJAX, aquí es donde entraría jQuery. Lo que haría sería agregar un controlador de clic a cada una de las etiquetas de anclaje correspondientes a una página diferente. Este controlador de clics invocaría algún código jQuery que va y recupera la página siguiente a través de AJAX y actualiza la tabla con los nuevos datos. El siguiente ejemplo supone que tiene un servicio web que devuelve los datos de la nueva página.

$(document).ready( function() {
    $('a.pager-link').click( function() {
        var page = $(this).attr('href').split(/\?/)[1];
        $.ajax({
            type: 'POST',
            url: '/path-to-service',
            data: page,
            success: function(content) {
               $('#myTable').html(content);  // replace
            }
        });
        return false; // to stop link
    });
});
280
tvanfosson

También creo que location.replace(URL) es la mejor manera, pero si desea notificar a los motores de búsqueda acerca de su redirección (no analizan el código JavaScript para ver la redirección), debe agregar la etiqueta meta rel="canonical" a su sitio web.

Agregar una sección de noscript con una metaetiqueta de actualización de HTML en ella también es una buena solución. Le sugiero que utilice esta herramienta de redirección de JavaScript para crear redirecciones. También tiene soporte de Internet Explorer para pasar la referencia HTTP.

El código de muestra sin demora se ve así:

<!-- Place this snippet right after opening the head tag to make it work properly -->

<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ -->

<!-- REDIRECTING STARTS -->
<link rel="canonical" href="https://yourdomain.com/"/>
<noscript>
    <meta http-equiv="refresh" content="0;URL=https://yourdomain.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://yourdomain.com/";
    if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
    {
        document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix.
        var referLink = document.createElement("a");
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    }
    else { window.location.replace(url); } // All other browsers
</script>
<!-- Credit goes to http://insider.zone/ -->
<!-- REDIRECTING ENDS -->
237
Patartics Milán

Pero si alguien quiere redireccionar a la página de inicio, puede usar el siguiente fragmento de código.

window.location = window.location.Host

Sería útil si tiene tres entornos diferentes como desarrollo, organización y producción.

Puede explorar este objeto window o window.location simplemente colocando estas palabras en la Consola Chrome o en la Consola de Firebug .

212
Nadeem Yasin

JavaScript le proporciona muchos métodos para recuperar y cambiar la URL actual que se muestra en la barra de direcciones del navegador. Todos estos métodos utilizan el objeto Location, que es una propiedad del objeto Window. Puede crear un nuevo objeto de ubicación que tenga la URL actual de la siguiente manera ...

var currentLocation = window.location;

Estructura básica de una URL

<protocol>//<hostname>:<port>/<pathname><search><hash>

enter image description here

  1. Protocolo: especifica el nombre del protocolo que se utilizará para acceder al recurso en Internet. (HTTP (sin SSL) o HTTPS (con SSL))

  2. nombre de host: el nombre de host especifica el host que posee el recurso. Por ejemplo, www.stackoverflow.com. Un servidor proporciona servicios usando el nombre del Host.

  3. puerto: un número de puerto utilizado para reconocer un proceso específico al que se reenviará un mensaje de Internet u otro mensaje de red cuando llegue a un servidor.

  4. ruta de acceso: la ruta proporciona información sobre el recurso específico dentro del host al que el cliente web desea acceder. Por ejemplo, stackoverflow.com/index.html.

  5. consulta: una cadena de consulta sigue el componente de la ruta y proporciona una cadena de información que el recurso puede utilizar para algún propósito (por ejemplo, como parámetros para una búsqueda o como datos para procesar).

  6. hash: la parte de anclaje de una URL, incluye el signo de hash (#).

Con estas propiedades de objeto de ubicación puede acceder a todos estos componentes de URL

  1. hash -Establece o devuelve la parte del ancla de una URL.
  2. Host -Establece o devuelve el nombre de host y el puerto de una URL.
  3. nombre de host -Establece o devuelve el nombre de host de una URL.
  4. href -Establece o devuelve la URL completa.
  5. ruta de acceso -Establece o devuelve el nombre de ruta de una URL.
  6. puerto -Establece o devuelve el número de puerto que el servidor usa para una URL.
  7. protocol -Set o devuelve el protocolo de una URL.
  8. buscar -Establece o devuelve la parte de consulta de una URL

Ahora, si desea cambiar una página o redirigir al usuario a otra página, puede usar la propiedad href del objeto Ubicación como esta

Puede utilizar la propiedad href del objeto Location.

window.location.href = "http://www.stackoverflow.com";

Objeto de ubicación también tienen estos tres métodos

  1. assign () - Carga un nuevo documento.
  2. reload () - Recarga el documento actual.
  3. replace () - Reemplaza el documento actual por uno nuevo

También puede usar los métodos assign () y reemplazar para redirigir a otras páginas como estas

location.assign("http://www.stackoverflow.com");

location.replace("http://www.stackoverflow.com");

La forma de asignación () y reemplazo () difiere- La diferencia entre el método de reemplazo () y el método de asignación (), es que replace () elimina la URL de la actual documento del historial de documentos significa que no es posible usar el botón "atrás" para volver al documento original. Por lo tanto, use el método assign () si desea cargar un nuevo documento, y desee dar la opción de navegar hacia atrás al documento original.

Puede cambiar la propiedad href del objeto de ubicación utilizando jQuery también de esta forma

$(location).attr('href',url);

Y por lo tanto, puede redirigir al usuario a alguna otra url.

199
Nikhil Agrawal

Básicamente jQuery es solo un JavaScript framework y para hacer algunas de las cosas como redirección en este caso, puedes usar JavaScript puro, así que en ese caso tiene 3 opciones usando JavaScript de vainilla:

1) Al usar location replace , esto reemplazará el historial actual de la página, significa que no es posible usar el botón back para regresar a la página original.

window.location.replace("http://stackoverflow.com");

2) Al usar la ubicación asignar , esto mantendrá el historial para usted y, al usar el botón Atrás, puede volver a la página original:

window.location.assign("http://stackoverflow.com");

3) Recomiendo usar una de esas formas anteriores, pero esta podría ser la tercera opción que usa JavaScript puro:

window.location.href="http://stackoverflow.com";

También puede escribir una función en jQuery para manejarlo, pero no se recomienda ya que solo tiene una línea de función pura de JavaScript, también puede usar todas las funciones anteriores sin ventana si ya está en el alcance de la ventana, por ejemplo window.location.replace("http://stackoverflow.com"); podría ser location.replace("http://stackoverflow.com");

También los muestro todos en la imagen de abajo:

 location.replace location.assign

188
Alireza

Debería poder establecer utilizando window.location.

Ejemplo:

window.location = "https://stackoverflow.com/";

Aquí hay una publicación pasada sobre el tema:

¿Cómo redirigir a otra página web?

188
Newse

Antes de comenzar, jQuery es una biblioteca de JavaScript utilizada para la manipulación de DOM. Por lo tanto, no debe utilizar jQuery para una redirección de página.

Una cita de Jquery.com:

Si bien jQuery puede ejecutarse sin problemas importantes en versiones anteriores del navegador, no probamos activamente jQuery en ellos y, en general, no solucionamos los errores que pueden aparecer en ellos.

Se encontró aquí: https://jquery.com/browser-support/

Por lo tanto, jQuery no es una solución definitiva y completa para la compatibilidad con versiones anteriores.

La siguiente solución que utiliza JavaScript en bruto funciona en todos los navegadores y ha sido estándar durante mucho tiempo, por lo que no necesita ninguna biblioteca para la compatibilidad con varios navegadores.

Esta página se redireccionará aGoogledespués de 3000 milisegundos

<!DOCTYPE html>
<html>
    <head>
        <title>example</title>
    </head>
    <body>
        <p>You will be redirected to google shortly.</p>
        <script>
            setTimeout(function(){
                window.location.href="http://www.google.com"; // The URL that will be redirected too.
            }, 3000); // The bigger the number the longer the delay.
        </script>
    </body>
</html>

Las diferentes opciones son las siguientes:

window.location.href="url"; // Simulates normal navigation to a new page
window.location.replace("url"); // Removes current URL from history and replaces it with a new URL
window.location.assign("url"); // Adds new URL to the history stack and redirects to the new URL

window.history.back(); // Simulates a back button click
window.history.go(-1); // Simulates a back button click
window.history.back(-1); // Simulates a back button click
window.navigate("page.html"); // Same as window.location="url"

Al usar reemplazar, el botón Atrás no volverá a la página de redireccionamiento, como si nunca hubiera estado en el historial. Si desea que el usuario pueda volver a la página de redireccionamiento, use window.location.href o window.location.assign. Si utiliza una opción que le permite al usuario volver a la página de redirección, recuerde que cuando ingrese a la página de redirección, se le redirigirá nuevamente. Entonces, téngalo en cuenta al elegir una opción para su redireccionamiento. En las condiciones en las que la página solo redirige cuando el usuario realiza una acción, el hecho de tener la página en el historial del botón Atrás estará bien. Pero si la página se redirige automáticamente, debe usar reemplazar para que el usuario pueda usar el botón Atrás sin tener que volver a la página que envía el redireccionamiento.

También puede usar metadatos para ejecutar una redirección de la página como se indica a continuación.

Actualización de META

<meta http-equiv="refresh" content="0;url=http://evil.com/" />

Ubicación META

<meta http-equiv="location" content="URL=http://evil.com" />

Secuestro BASE

<base href="http://evil.com/" />

En esta página se pueden encontrar muchos más métodos para redirigir a su cliente desprevenido a una página a la que tal vez no quieran ir (ninguno de ellos depende de jQuery):

https://code.google.com/p/html5security/wiki/RedirectionMethods

También me gustaría señalar que a las personas no les gusta ser redirigidas al azar. Solo redirigir a las personas cuando sea absolutamente necesario. Si comienza a redirigir a las personas al azar, nunca más volverán a su sitio.

La siguiente parte es hipotética:

También puede ser reportado como un sitio malicioso. Si eso sucede, cuando la gente haga clic en un enlace a su sitio, el navegador de los usuarios puede advertirles que su sitio es malicioso. Lo que también puede suceder es que los motores de búsqueda pueden comenzar a disminuir su calificación si las personas informan una mala experiencia en su sitio.

Revise las Pautas para webmasters de Google sobre redirecciones: https://support.google.com/webmasters/answer/2721217?hl=en&ref_topic=6001971

Aquí hay una pequeña página divertida que te saca de la página.

<!DOCTYPE html>
<html>
    <head>
        <title>Go Away</title>
    </head>
    <body>
        <h1>Go Away</h1>
        <script>
            setTimeout(function(){
                window.history.back();
            }, 3000);
        </script>
    </body>
</html>

Si combina los ejemplos de dos páginas, tendrá un bucle infantil de redireccionamiento que garantizará que su usuario nunca volverá a querer usar su sitio.

158
Patrick W. McMahon
var url = 'asdf.html';
window.location.href = url;
157
user188973

Puedes hacerlo sin jQuery como:

window.location = "http://yourdomain.com";

Y si solo quieres jQuery, puedes hacerlo así:

$jq(window).attr("location","http://yourdomain.com");
138
ScoRpion

Esto funciona con jQuery:

$(window).attr("location", "http://google.fr");
137
xloadx

# Redireccionamiento de páginas HTML usando jQuery/JavaScript

Prueba este código de ejemplo:

function YourJavaScriptFunction()
{
    var i = $('#login').val();
    if (i == 'login')
        window.location = "login.php";
    else
        window.location = "Logout.php";
}

Si desea dar una URL completa comowindow.location = "www.google.co.in";.

84
Sakthi Karthik

Necesitas poner esta línea en tu código:

$(location).attr("href","http://stackoverflow.com");

Si no tienes jQuery, ve con JavaScript:

window.location.replace("http://stackoverflow.com");
window.location.href("http://stackoverflow.com");
77
Ashish Ratan

Entonces, la pregunta es ¿cómo hacer una página de redirección y no cómo redirigir a un sitio web?

Solo necesitas usar JavaScript para esto. Aquí hay un pequeño código que creará una página de redireccionamiento dinámico.

<script>
    var url = window.location.search.split('url=')[1]; // Get the URL after ?url=
    if( url ) window.location.replace(url);
</script>

Entonces, diga que acaba de poner este fragmento en un archivo redirect/index.html en su sitio web, puede usarlo así.

http://www.mywebsite.com/redirect?url=http://stackoverflow.com

Y si accede a ese enlace, lo redireccionará automáticamente a stackoverflow.com.

Enlace a la documentación

Y así es como haces una Simple redirigir la página con JavaScript

Editar:

También hay una cosa a tener en cuenta. He agregado window.location.replace en mi código porque creo que se adapta a una página de redireccionamiento, pero debe saber que al usar window.location.replace y se le redirige, cuando presiona el botón de retroceso en su navegador, not volverá al redirigir la página, y volverá a la página anterior, eche un vistazo a esta pequeña demostración.

Ejemplo:

El proceso: store home => redirigir la página a google => google

Cuando se encuentra en google: google => back button en el navegador => store home

Entonces, si esto se adapta a tus necesidades, entonces todo debería estar bien. Si desea incluir la página de redireccionamiento en el historial del navegador, reemplace este

if( url ) window.location.replace(url);

con

if( url ) window.location.href = url;
75
iConnor

En su función de clic, simplemente añada:

window.location.href = "The URL where you want to redirect";
$('#id').click(function(){
    window.location.href = "http://www.google.com";
});
70
Swaprks

***** LA PREGUNTA ORIGINAL FUE "CÓMO REDIRTAR EL USO DE JQUERY", ENTONCES LA RESPUESTA IMPLEMENTA JQUERY >> CASO DE USO CUMPLIMIENTO *****

Para simplemente redirigir a una página con JavaScript:

  window.location.href = "/contact/";

O si necesitas un retraso:

setTimeout(function () {
  window.location.href = "/contact/";
}, 2000);   // Time in milliseconds

jQuery te permite seleccionar elementos de una página web con facilidad. Puede encontrar lo que quiera en una página y luego usar jQuery para agregar efectos especiales, reaccionar a las acciones del usuario o mostrar y ocultar contenido dentro o fuera del elemento que ha seleccionado. Todas estas tareas comienzan con saber cómo seleccionar un elemento o un evento .

     $('a,img').on('click',function(e){
         e.preventDefault();
         $(this).animate({
             opacity: 0 //Put some CSS animation here
         }, 500);
         setTimeout(function(){
           // OK, finished jQuery staff, let's go redirect
           window.location.href = "/contact/";
         },500);
     });

¿Imagina que alguien escribió un script/plugin que tiene 10000 líneas de código? Bueno, con jQuery puede conectarse a este código con solo una o dos líneas.

69
SergeDirect

Prueba esto:

location.assign("http://www.google.com");

Fragmento de código del ejemplo .

58
tilak

jQuery no es necesario. Puedes hacerlo:

window.open("URL","_self","","")

¡Es así de fácil!

La mejor manera de iniciar una solicitud HTTP es con document.loacation.href.replace('URL').

54
MayorMonty

Primero escribe correctamente. Desea navegar dentro de una aplicación para otro enlace desde su aplicación para otro enlace. Aquí está el código:

window.location.href = "http://www.google.com";

Y si desea navegar por las páginas dentro de su aplicación, también tengo un código, si lo desea.

51
Anup

Puedes redireccionar en jQuery así:

$(location).attr('href', 'http://yourPage.com/');
50
Azam Alvi

En JavaScript y jQuery podemos usar el siguiente código para redirigir una página a otra:

window.location.href="http://google.com";
window.location.replace("page1.html");
43
user2496033

Javascript:

window.location.href='www.your_url.com';
window.top.location.href='www.your_url.com';
window.location.replace('www.your_url.com');

Jquery:

var url='www.your_url.com';
$(location).attr('href',url);
$(location).prop('href',url);//instead of location you can use window
42
lalithkumar

ECMAScript 6 + jQuery, 85 bytes

$({jQueryCode:(url)=>location.replace(url)}).attr("jQueryCode")("http://example.com")

Por favor, no me mates, esto es una broma. Es una broma. Esto es una broma.

Esto "proporcionó una respuesta a la pregunta", en el sentido de que solicitó una solución "utilizando jQuery", que en este caso implica forzarla a ingresar a la ecuación de alguna manera.

Ferrybig aparentemente necesita que se explique la broma (aún bromeando, estoy seguro de que hay opciones limitadas en el formulario de revisión), así que sin más preámbulos:

Otras respuestas están utilizando la función attr() de jQuery en los objetos location o window innecesariamente.

Esta respuesta también lo abusa, pero de una manera más ridícula. En lugar de usarlo para establecer la ubicación, esto usa attr() para recuperar una función que establece la ubicación.

La función se llama jQueryCode aunque no hay nada de jQuery al respecto, y llamar a una función somethingCode es simplemente horrible, especialmente cuando algo no es un lenguaje.

El "85 bytes" es una referencia a Code Golf. Evidentemente, jugar golf no es algo que se deba hacer fuera del código de golf, y además esta respuesta no es realmente un juego de golf.

Básicamente, se encoge.

42
1j01

Aquí hay una redirección de retardo de tiempo. Puedes configurar el tiempo de retardo a lo que quieras:

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Your Document Title</title>
    <script type="text/javascript">
        function delayer(delay) {
            onLoad = setTimeout('window.location.href = "http://www.google.com/"', delay);
        }
    </script>
</head>

<body>
    <script>
        delayer(8000)
    </script>
    <div>You will be redirected in 8 seconds!</div>
</body>

</html>
39
Stefan Gruenwald

Hay tres formas principales de hacer esto,

window.location.href='blaah.com';
window.location.assign('blaah.com');

y...

window.location.replace('blaah.com');

El último es el mejor, para un redireccionamiento tradicional, ya que no guardará la página a la que fue antes de ser redirigido en su historial de búsqueda. Sin embargo, si solo desea abrir una pestaña con JavaScript, puede utilizar cualquiera de los anteriores . 1

EDITAR: El prefijo window es opcional.

36
Ben

Solo tuve que actualizar esta ridiculez con otro método jQuery más nuevo:

var url = 'http://www.fiftywaystoleaveyourlocation.com';
$(location).prop('href', url);
36
Epiphany

Escriba el siguiente código después de la sección PHP, HTML o jQuery. Si se encuentra en la mitad de la sección PHP o HTML, use la etiqueta <script>.

location.href = "http://google.com"
35
Bidyut

código jQuery para redireccionar una página o URL.

Primera Vía

Aquí está el código jQuery para redirigir una página. Desde entonces, he puesto este código en la función $ (document) .ready (), se ejecutará tan pronto como se cargue la página.

var url = "http://stackoverflow.com";
$(location).attr('href',url);

Incluso puede pasar una URL directamente al método attr () , en lugar de usar una variable.

Segunda Vía

 window.location.href="http://stackoverflow.com";

También puedes codificar así (ambos son iguales internamente):

window.location="http://stackoverflow.com";

Si tiene curiosidad acerca de la diferencia entre window.location y window.location.href, puede ver que la última está configurando la propiedad href explícitamente, mientras que la primera lo hace implícitamente. Desde window.location devuelve un objeto, que por defecto establece su propiedad .href.

Tercera vía

Hay otra forma de redireccionar una página utilizando JavaScript, el método replace() del objeto window.location. Puede pasar una nueva URL al método replace(), y simulará un redireccionamiento HTTP. Por cierto, recuerde que el método window.location.replace() no coloca la página de origen en el historial de la sesión, lo que puede afectar el comportamiento del botón Atrás. En algún momento, es lo que quieres, así que úsalo con cuidado.

// Doesn't put originating page in history
window.location.replace("http://stackoverflow.com");

Cuarto camino

like attr () method (después de introducir jQuery 1.6)

var url = "http://stackoverflow.com";
$(location).prop('href', url);
32

En jQuery , use $(location).attr('href', url):

$(document).ready(function(){
    var url = "https://www.youtube.com/watch?v=JwMKRevYa_M";
    $(location).attr('href', url); // Using this
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

En raw JavaScript , hay varias maneras de lograrlo:

window.location.href="https://www.youtube.com/watch?v=JwMKRevYa_M";

- Establece la propiedad href explícitamente.

window.location = "http://www.GameOfThrones.com";

- lo hace implícitamente ya que window.location devuelve un objeto, que de manera predeterminada establece su propiedad .href.

window.location.replace("http://www.stackoverflow.com");

- reemplaza la ubicación de la ventana actual por la nueva.

self.location = "http://www.somewebsite.com";

- Establece la ubicación de la ventana actual.

Aquí hay un ejemplo de redireccionamiento de JavaScript después de un cierto tiempo (3 segundos):

<script>
    setTimeout(function() {
        window.location.href = "https://www.youtube.com/";
    }, 3000);
</script>
29
Inconnu

Utilizando JavaScript:

Método 1:

window.location.href="http://google.com";

Método 2:

window.location.replace("http://google.com");

Usando jQuery:

Método 1: $ (ubicación)

$(location).attr('href', 'http://google.com');

Método 2: Función reutilizable

jQuery.fn.redirectTo = function(url){
    window.location.href = url;
}

jQuery(window).redirectTo("http://google.com");
28
Kalpesh Panchal

En JavaScript y jQuery usamos este siguiente código para redirigir la página:

window.location.href="http://google.com";
window.location.replace("page1.html");

Pero puedes hacer una función en jQuery para redirigir la página:

jQuery.fn.redirect=function(url)
{
    window.location.href=url;
}

Y llamar a esta función:

jQuery(window).redirect("http://stackoverflow.com/")
27
Muhammad Waqas

Usa la función jQuery:

$.extend({
  redirectPost: function(location, args) {
    var form = '';
    $.each(args, function(key, value) {
      form += '<input type="hidden" name="' + key + '" value="' + value + '">';
    });
    $('<form action="' + location + '" method="POST">' + form + '</form>').appendTo($(document.body)).submit();
  }
});

En tu código lo usas así:

$.redirectPost("addPhotos.php", {pimreference:  $("#pimreference").val(), tag: $("#tag").val()});
23
stratum

Simplemente en JavaScript, puede redirigir a una página específica utilizando lo siguiente:

window.location.replace("http://www.test.com");

O

location.replace("http://www.test.com");

O

window.location.href = "http://www.test.com";

Usando jQuery:

$(window).attr("location","http://www.test.com");
18
vipul sorathiya
<script type="text/javascript">
var url = "https://yourdomain.com";

// IE8 and lower fix
if (navigator.userAgent.match(/MSIE\s(?!9.0)/))
{
    var referLink = document.createElement("a");
    referLink.href = url;
    document.body.appendChild(referLink);
    referLink.click();
}

// All other browsers
else { window.location.replace(url); }
</script>
17
Jaydeep Jadav

Javascript es muy extenso. Si quieres saltar a otra página tienes tres opciones.

 window.location.href='otherpage.com';
 window.location.assign('otherpage.com');
 //and...

 window.location.replace('otherpage.com');

Si desea pasar a otra página, puede usar cualquiera de estos si así lo requiere. Sin embargo, las tres opciones están limitadas a diferentes situaciones. Elija sabiamente de acuerdo a su requerimiento.

si te interesa conocer más sobre el concepto. Puedes ir más allá.

window.location.href; returns the href (URL) of the current page
window.location.hostname; returns the domain name of the web Host
window.location.pathname; returns the path and filename of the current page
window.location.protocol; returns the web protocol used (http: or https:)
window.location.assign; loads a new document
16
Must Keem J

Aquí está el código para redirigir a otra página con un tiempo de espera de 10 segundos.

<script>
    function Redirect()
    {
        window.location="http://www.adarshkr.com";
    }

    document.write("You will be redirected to a new page in 10 seconds.");
    setTimeout('Redirect()', 10000);
</script>

También puede hacerlo de esta manera, haciendo clic en un botón usando location.assign:

<input type="button" value="Load new document" onclick="newPage()">
<script>
    function newPage() {
        window.location.assign("http://www.adarshkr.com")
    }
</script>
15
Adarsh Gowda K R

Puede usarlo como en el siguiente código, donde getRequestToForwardPage es la asignación de solicitud ( URL ). También puede utilizar su URL.

function savePopUp(){
    $.blockUI();
    $.ajax({
        url:"saveGuestHouse?roomType="+$("#roomType").val(),
        data: $("#popForm").serialize(),
        dataType: "json",
        error: (function() {
            alert("Server Error");
            $.unblockUI();
    }),
    success: function(map) {
        $("#layer1").hide();
        $.unblockUI();
        window.location = "getRequestToForwardPage";
    }
});

Esto es para el mismo contexto de la aplicación.

Si desea usar solo un código específico de jquery, el siguiente código puede ayudar:

 $(location).attr('href',"http://www.google.com");
 $jq(window).attr("location","http://www.google.com");
 $(location).prop('href',"http://www.google.com"); 
15
Vinay Sharma
<script type="text/javascript">
    if(window.location.href === "http://stackoverflow.com") {      
         window.location.replace("https://www.google.co.in/");
       }
</script>
13
sneha

Puedes redireccionar la página usando los siguientes métodos:

  1. Usando una metaetiqueta en la cabecera - <meta http-equiv="refresh" content="0;url=http://your-page-url.com" />. Tenga en cuenta que content="0;... se usa después de cuántos segundos necesita redirigir la página

  2. Usando JavaScript: window.location.href = "http://your-page-url.com";

  3. Usando jQuery: $(location).attr('href', 'http://yourPage.com/');

13
SantoshK

Puedes usar:

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

El método replace() no guarda la página de origen en el historial de la sesión, por lo que el usuario no puede volver con el botón Atrás y, de nuevo, ser redirigido. NOTA: El botón de retroceso del navegador se desactivará en este caso.

Sin embargo, si desea un efecto igual que hacer clic en un enlace, debe buscar:

window.location.href = "http://www.example.com/";

En este caso, el botón de retroceso del navegador estará activo.

13
madhur

Utilizar:

function redirect(a) {
    location = a
}

Y llámalo con: redirect([url]);

No hay necesidad de la href después de location, como está implícito.

12
cascading-style

Puede escribir la Url.Action para el evento de clic de botón en la sección de script de la siguiente manera.

function onclick() {
        location.href = '@Url.Action("Index","Home")';
    }
12
wild coder

Solicitud de una sola página , dentro de la misma ruta de aplicación

window.location.pathname = '/stack';

JavaScript:

location.href = "http://stack.com";
window.location = "http://stack.com";

jQuery:

$(location).attr('href', "http://www.stack.com");
$(window).attr('location', "http://www.stack.com");

Angular 4

import { Router } from '@angular/router';
export class NavtabComponent{
    constructor(private router: Router) {
    }
    this.router.navigate(['bookings/taxi']);
}
12
HD..

Acabo de añadir otra forma:

Para redireccionar para cualquier página/enlace específico de su sitio a otra página, solo agregue esta línea de código:

<script>
    if(window.location.href == 'old_url')
    {
        window.location.href="new_url";
    }

    // Another URL redirect
    if(window.location.href == 'old_url2')
    {
        window.location.href="new_url2";
    }
</script>

Para un ejemplo de la vida real,

<script>
    if(window.location.href == 'https://old-site.com')
    {
        window.location.href="https://new-site.com";
    }

    // Another URL redirect
    if(window.location.href == 'https://old-site.com/simple-post.html')
    {
        window.location.href="https://new-site.com/simple-post.html";
    }
</script>

Al usar este código simple, puede redirigir el sitio completo o cualquier página individual.

11
Maniruzzaman Akash

Esto es muy fácil de implementar. Puedes usar:

window.location.href = "http://www.example.com/";

Esto recordará la historia de la página anterior. Así que uno puede volver haciendo clic en el botón de retroceso del navegador.

O:

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

Este método no recuerda el historial de la página anterior. El botón Atrás se desactiva en este caso.

11

Si prefieres usar javascript puro, me di cuenta de que usar document.location.href = "https://example.com" o window.location.href = "https://example.com" causa problemas de compatibilidad en Firefox. En su lugar, trate de usar:

location.href = "https://example.com";
location.replace("http://example.com");

En mi caso ha resuelto el problema. ¡Buena suerte!

Ya uso la función redirect () de JavaScript. Esta funcionando.

<script type="text/javascript">
    $(function () {
        //It's similar to HTTP redirect
        window.location.replace("http://www.Technomark.in");

        //It's similar to clicking on a link
        window.location.href = "Http://www.Technomark.in";
    })
</script>
10
user1012506
  1. location.assign ():

    Para asignar una ruta de acceso al pasar una ruta en ella ... Asignar le dará un historial incluso después de que se haya asignado la ruta.

    Método de uso: valor se debe pasar en él.

    Por ejemplo: location.assign("http://google.com")

     Enter image description here

  2. location.href

    Puede definir asignarle una ruta de acceso ... Y se redireccionará a una ruta determinada una vez que se configure, y mantendrá el historial ...

    Método de uso: value debe asignarse a él.

    Por ejemplo: location.href = "http://google.com"

  3. location.replace ():

    Te ayudará a reemplazar una ruta si no quieres mantener el historial. No le dará un historial una vez que reemplace su camino.

    Método de uso: valor debe pasar a él.

    Por ejemplo: location.replace("http://google.com")

     Enter image description here


assign() y href son similares, y ambos pueden contener el historial. assign funcionará pasando un valor y href funciona asignando.

Puedes lograrlo usando el propio JavaScript sin usar jQuery asignando,

window.location = "http://google.com"
location.href = "http://google.com"

Puedes lograr algo similar usando jQuery como abajo. Hará exactamente lo mismo que arriba,

$(window).attr('location', "http://www.google.com");
$(location).attr('href', "http://www.google.com");

Puedes entender fácilmente la diferencia entre ambos ...

Aquí está el objeto Ubicación,

 Location API from chrome

10
Silent Spectator

Si desea redireccionar a una ruta dentro de la misma aplicación simplemente

window.location.pathname = '/examplepath'

sería el camino a seguir.

9
RuNpiXelruN

Usar location.replace() lo redireccionará, pero sin guardar el historial de la página anterior. Esto es mejor utilizar cuando se envía un formulario. Pero cuando quieres mantener tu historial tienes que usar location.href=//path

Ejemplos:

// form with steps
document.getElementById('#next').onclick = function() {
   window.location.href='/step2' // iteration of steps;
}

// go to next step
document.getElementById("#back').onclick = function() {
   window.history.back();
}

// finish 
document.getElementById("#finish').onclick = function() {
   window.location.href = '/success';
}

// on success page
window.onload = function() {
    setTimeout(function() {
       window.location.replace('/home'); // i can't go back to success page by pressing the back button
    },3000);
}
8
Andrei Todorut

Todo el camino para hacer una redirección desde el lado del cliente:

<!DOCTYPE html>
<html>
    <head>
        <title>JavaScript and jQuery example to redirect a page or URL </title>
    </head>
    <body>
        <div id="redirect">
            <h2>Redirecting to another page</h2>
        </div>

        <script src="scripts/jquery-1.6.2.min.js"></script>
        <script>
            // JavaScript code to redirect a URL
            window.location.replace("http://stackoverflow.com");
            // window.location.replace('http://code.shouttoday.com');

            // Another way to redirect page using JavaScript

            // window.location.assign('http://code.shouttoday.com');
            // window.location.href = 'http://code.shouttoday.com';
            // document.location.href = '/relativePath';

            //jQuery code to redirect a page or URL
            $(document).ready(function(){
                //var url = "http://code.shouttoday.com";
                //$(location).attr('href',url);
                // $(window).attr('location',url)
                //$(location).prop('href', url)
            });
        </script>
    </body>
</html>
8
Zigri2612

Redirigiendo al usuario usando jQuery/JavaScript

Al utilizar el objeto de ubicación en jQuery o JavaScript, podemos redirigir al usuario a otra página web.

En jQuery

El código para redirigir al usuario de una página a otra es:

var url = 'http://www.example.com';
$(location).attr('href', url);

En JavaScript

El código para redirigir al usuario de una página a otra es:

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

O

var url = 'http://www.example.com';
window.location = url;
6
devst3r

Así es como lo uso.

   window.location.replace('yourPage.aspx');   
   // If you're on root and redirection page is also on the root

   window.location.replace(window.location.Host + '/subDirectory/yourPage.aspx');

   // If you're in sub directory and redirection page is also in some other sub directory.
5
dnxit

En mi experiencia laboral, JavaScript es mucho mejor para redireccionar.

Depende de cómo quieras cambiar la ubicación. Si desea registrar su sitio web en el historial de usuarios, use window.location.href='ur website';. De lo contrario, para hacerlo sin iniciar sesión en el historial, use window.location.replace("your website");.

4
Omkaar.K