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


Answers

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

$(location).attr('href', 'http://stackoverflow.com')
Question

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




Ayudaría si fueras un poco más descriptivo en lo que intentas hacer. Si intenta generar datos paginados, hay algunas opciones sobre cómo hacerlo. Puede generar enlaces separados para cada página a la que desee 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 quiere que los datos paginados se modifiquen a través de AJAX, aquí es donde entrará jQuery. Lo que haría sería agregar un manejador de clics a cada una de las etiquetas de anclaje correspondientes a una página diferente. Este controlador de clic invocaría un código jQuery que iría a la página siguiente a través de AJAX y actualizaría la tabla con los datos nuevos. 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
    });
});



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



jQuery no es necesario. Puedes hacerlo:

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

¡Así de fácil!

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







Primero escribe correctamente. Desea navegar dentro de una aplicación por 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 de su aplicación, también tengo código, si lo desea.




Para redirigir a una página:

  window.location.href = "/destination.html";

O si necesita un retraso:

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

jQuery le permite seleccionar elementos de una página web con facilidad. Puede encontrar lo que desee 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 .

function redirect () {
    $('selection').animate({
        marginLeft: 100px; //Put some CSS animation here
    }, 500, function () {
      // OK, finished jQuery staff, let's go redirect
      window.location.href = "/destination.html";
})

¡Imagine que alguien escribió un script / plugin que tiene 10000 líneas de código! Bueno, con jQuery puedes conectarte a este código con solo una línea o dos.




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 pedía una solución "usando jQuery" que en este caso implica forzarla a la ecuación de alguna manera.

Al parecer, Ferrybig necesita que se explique el chiste (sigue 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 usando jQuery's attr() en la location o en 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, 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 ni siquiera un idioma.

Los "85 bytes" son una referencia a Code Golf. Es obvio que jugar golf no es algo que debas hacer fuera del golf de código, y además esta respuesta claramente no está en el golf.

Básicamente, temblar.




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 que visitó antes de ser redirigido en su historial de búsqueda. Sin embargo, si solo desea abrir una pestaña con JavaScript, puede usar cualquiera de los anteriores. 1

EDITAR: El prefijo de window es opcional.




Esto funciona con jQuery:

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



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

window.location = window.location.host

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

Puede explorar esta ventana o el objeto window.location simplemente colocando estas palabras en la consola de Chrome o en la consola de Firebug .




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



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

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



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

Solo necesita usar JavaScript para esto. Aquí hay un pequeño código que creará una página de redirección dinámica.

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

Así que supongamos que colocas este fragmento en un archivo redirect/index.html en tu sitio web y lo puedes usar así.

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

Y si vas a ese enlace, te redirigirá automáticamente a .com .

Enlace a la documentación

Y así es como se hace una página de redirección simple con JavaScript

Editar:

También hay una cosa para notar. He agregado window.location.replace en mi código porque creo que se adapta a una página de redireccionamiento, pero debe saber que cuando usa window.location.replace y lo redirigen, cuando presiona el botón Atrás en su navegador no lo hará Volví 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: almacenar inicio => redirigir página a google => google

Cuando en google: google => botón Atrás en el navegador => almacenar en casa

Entonces, si esto satisface 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;



Básicamente jQuery es una biblioteca de JavaScript y para hacer algunas cosas como redirigir, puedes usar JavaScript puro, entonces en ese caso tienes 3 opciones usando JavaScript simple:

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

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

2) Usando la asignación de ubicación, esto mantendrá el historial por ti y con el uso del botón Atrás, puedes volver a la página original:

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

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

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

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

También los muestro a todos en la imagen a continuación: