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




redireccionar jquery (24)

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


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 puedan 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 redireccionará a google.com despué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, utilice 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 redirección. 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 de 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 ocurrir es que los motores de búsqueda pueden comenzar a disminuir su calificación si las personas informan una mala experiencia en su sitio.

Consulte 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 dos ejemplos de páginas juntos, tendrá un ciclo infantil de redireccionamiento que garantizará que su usuario nunca más volverá a querer usar su sitio.


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 de la window es opcional.


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

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

Si está aquí porque está perdiendo HTTP_REFERER al redirigir, 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 una versión inferior, estas variables se pierden cuando se utiliza cualquier forma de redirección de página 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 puede utilizar simplemente window.location.href .

Las pruebas contra HTTP_REFERER (pegado de URL, sesión, etc.) pueden ser útiles para determinar si una solicitud es legítima. ( Nota: también hay formas de evitar / refutar 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; 
    }
}

var url = 'asdf.html';
window.location.href = url;

# 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 como window.location = "www.google.co.in"; .


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

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

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 pidió 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 utilizan el attr() jQuery en la location o window objetos de la 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 denomina jQueryCode , aunque no tiene nada que ver con jQuery, y llamar a somethingCode functionCode 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.


Esto funciona con jQuery:

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


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') .


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");

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

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.


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

1) Al usar reemplazo de ubicación, esto reemplazará el historial actual de la página, lo que significa que no es posible usar el botón Atrás para volver a la página original.

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

2) Al usar la asignación de ubicación, 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://.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://.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 ámbito de la ventana, por ejemplo window.location.replace("http://.com"); podría ser location.replace("http://.com");

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


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 .


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

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

Si no tienes jQuery, ve a JavaScript con:

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

Esto funciona para cada navegador:

window.location.href = 'your_url';

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 algunos códigos jQuery que van a buscar la página siguiente a través de AJAX y actualizan la tabla con los nuevos datos. El siguiente ejemplo asume que usted 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
    });
});

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://.com

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

Enlace a la documentación

Y así es como haces una página de redireccionamiento simple 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 Atrás en su navegador, no lo hará. Regresé a la página de redirección, 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 => botón de retroceso en browser => 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;

Utilizar:

// 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')

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";
});

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");

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


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.







redirect