58 Domanda: Come reindirizzare a un'altra pagina Web?

domanda creata a Tue, Feb 6, 2018 12:00 AM

Come posso reindirizzare l'utente da una pagina all'altra utilizzando jQuery o puro JavaScript?

    
7729
  1. Continuo a vedere sia window.location = url; e window.location.href = url; Come sono differenti? Sono loro? A proposito, non sapevo di window.location.replace (url). Nizza.
    2012-06-07 14: 24: 45Z
  2. window.location è lo stesso di window.location.href, in termini di comportamento. window.location restituisce un oggetto. Se .href non è impostato, il valore predefinito window.location cambia per il parametro .href. Concludere: utilizzare uno dei due va bene.
    2012-08-07 07: 03: 58Z
  3. var url = "nome sito web" $(posizione) .attr ('href', url);
    2013-02-18 11: 30: 19Z
  4. @ MadScientist Questo è un modo per farlo all'indietro. L'oggetto posizione non è un elemento HTML e l'utilizzo dell'oggetto jquery per impostarlo sembra errato. Perché dovresti usarlo quando il codice JS dritto è così semplice?
    2013-11-26 20: 25: 46Z
  5. Perché vuoi reindirizzare? Il modulo di accesso non deve essere inviato? E anche se non c'è alcuna logica nella pagina di destinazione, sarà comunque possibile inviare il modulo a un'altra pagina.
    2014-02-16 14: 45: 44Z
30 risposte                              30                         

Uno non semplicemente reindirizza utilizzando jQuery

jQuery non è necessario e window.location.replace(...) simulerà al meglio un reindirizzamento HTTP.

window.location.replace(...) è meglio dell'uso del window.location.href, perché replace() non mantiene la pagina di origine nella cronologia della sessione, il che significa che l'utente non si bloccherà in un fiasco back-tasto senza fine.

Se vuoi simulare qualcuno cliccando su un link, usa   location.href

Se vuoi simulare un reindirizzamento HTTP, usa location.replace

Ad esempio:

 
// 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";
    
14059
2019-05-19 13: 36: 05Z
  1. in caso di invio pulsante aggiungi return false; anche all'interno della tua funzione
    2012-04-19 11: 52: 02Z
  2. La domanda riguarda specificamente javascript, ma può valere la pena notare che un meta refresh può essere usato come un failback nel caso in cui l'utente abbia disabilitato javascript
    2013-01-24 00: 51: 34Z
  3. @ NicolòMartini If (IE) document.write ("");
    2013-06-07 13: 28: 29Z
  4. Se usi già jQuery, usa $(location).attr('href',url);. window.location.href sembra avere un comportamento non costante in alcuni browser, infatti, non funziona nella mia versione di Firefox. Ho sentito dire che l'impostazione window.location non funziona direttamente nelle versioni di IE.
    2015-01-28 22: 34: 13Z
  5. "è meglio" dovrebbe essere rimosso. Come affermato più avanti nella risposta, la soluzione migliore è situazionale. L'OP non chiede "come posso emulare un reindirizzamento HTTP con Javascript ..."
    2017-03-23 ​​15: 35: 45Z

ATTENZIONE: questa risposta è stata semplicemente fornita come possibile soluzione; è ovviamente non la soluzione migliore, poiché richiede jQuery. Invece, preferisci la pura soluzione JavaScript.

 
$(location).attr('href', 'http://stackoverflow.com')
    
1587
2019-05-19 13: 36: 13Z
  1. Questa è la risposta letterale alla domanda. Se stai già utilizzando Jquery e quindi lo hai già caricato, sarà più efficiente in termini di larghezza di banda e ovviamente più chiaro per utilizzare il collegamento
    2012-01-12 12: 00: 40Z
  2. Ancora più importante, c'è un modo per farlo con jQuery che è absracted? Questo è solo un wrapper per window.location.href = url; Ma se jQuery avesse qualche funzione, se window.location.href = url; non avrebbe funzionato nell'ambiente corrente (browser, sistema operativo, ecc.) jQuery core potrebbe compensare?
    2012-02-29 16: 03: 25Z
  3. Forzare jQuery nell'equazione in questo modo è semplicemente ridicolo e inutile, soprattutto perché window.location non è un elemento e quindi non ha attributi.
    2012-10-03 10: 32: 36Z
  4. In qualche modo dubito che funzioni ancora con le recenti versioni di jQuery in cui il .attr() imposta effettivamente gli attributi (ad es. .setAttribute())
    2013-07-03 11: 23: 52Z
  5. @ deltaray Questo è not un altro modo di reindirizzare, come detto sopra, è un involucro senza senso intorno all'oggetto posizione, che, non è nemmeno un elemento! Questo mi ricorda i.stack.imgur.com/ssRUr.gif
    2014-01-23 15: 48: 46Z

Metodo JavaScript "vanilla" standard per reindirizzare una pagina:

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


Se sei qui perché stai perdendo HTTP_REFERER durante il reindirizzamento, continua a leggere:


La seguente sezione è per coloro che usano HTTP_REFERER come una delle molte misure sicure (anche se non è una misura di protezione). Se utilizzi Internet Explorer 8 o meno, queste variabili si perdono quando si utilizza qualsiasi forma di JavaScript reindirizzamento delle pagine (location.href, ecc.).

Di seguito implementeremo un'alternativa per IE8 e amp; inferiore in modo da non perdere HTTP_REFERER. Altrimenti puoi quasi sempre usare semplicemente window.location.href.

Provare contro HTTP_REFERER (incollare URL, sessioni, ecc.) può essere utile nel dire se una richiesta è legittima. ( Nota: ci sono anche modi per aggirare /falsificare questi referrer, come notato dal link di droop nei commenti)


Semplice soluzione per test cross-browser (fallback a window.location.href per Internet Explorer 9+ e tutti gli altri browser)

Utilizzo: 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; 
    }
}
    
588
2019-05-19 13: 36: 28Z
  1. Foot note: il controllo del referrer come misura di sicurezza è una pessima soluzione. duckduckgo.com/?q=referrer+spoofing
    2013-01-29 23: 41: 11Z
  2. Se si dispone di un ID di sessione GET HTTP nell'URL del referrer, può essere utilizzato per verificarne la validità rispetto alla sessione.
    2015-08-21 04: 31: 05Z
  3. @ mcpDESIGNS sei sicuro di aver provato ad usare location.assign? Uso la mia app con IE8 e non perdo l'intestazione HTTP_REFERER.
    2015-09-30 18: 35: 27Z
  4. Almeno nel 2012 non funzionava, forse più tardi le patch di IE8 l'hanno risolto - è bello saperlo!
    2018-02-26 00: 41: 47Z
  5. La tua menzione di HTTP_REFERER mi ha aiutato a capire il problema che sto avendo con window.open e ho trovato una soluzione qui: stackoverflow.com/questions/7580613/... . Dal modo in cui sto avendo il problema in IE11!
    2019-01-09 10: 09: 54Z

Ci sono molti modi per farlo.

 
// 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')
    
399
2019-01-16 10: 28: 35Z
  1. window.navigate è vecchio-solo IE (Firefox /Chrome non supporta questo). Se desideri enumerare tutte le opzioni, non dimenticare di document.location.
    2014-11-26 18: 19: 10Z
  2. Questo non spiega affatto qualcosa . Cosa si suppone che qualcuno scelga? Scegline uno a caso dalla lista? Inoltre, cosa aggiunge questo alle risposte esistenti?
    2015-07-17 07: 13: 15Z
  3. document.location = document.referrer; Si prega di aggiungerlo anche nell'elenco. Questo non funziona come History.back rende piuttosto la pagina Aggiorna di nuovo.
    2015-07-30 20: 22: 46Z
  4. @ LéoLam Ecco perché esiste un motore di ricerca chiamato Google. :-) Puoi cercare ognuno su Google e trovare la differenza. Non vuoi sceglierne uno a caso.
    2017-09-18 10: 43: 02Z
  5. @ IamtheMostStupidPerson esattamente il mio punto. La risposta è inutile.
    2017-09-18 10: 44: 23Z

Funziona per ogni browser:

 
window.location.href = 'your_url';
    
308
2014-12-04 20: 30: 50Z
  1. Puoi anche fare document.location.replace(redirectURL) se non vuoi che la prima pagina sia nella cronologia del browser
    2018-06-12 14: 06: 41Z

Sarebbe di grande aiuto se tu fossi un po 'più descrittivo in quello che stai cercando di fare. Se stai cercando di generare dati pagati, ci sono alcune opzioni su come farlo. È possibile generare collegamenti separati per ciascuna pagina a cui si desidera poter accedere direttamente.

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

Si noti che la pagina corrente nell'esempio è gestita in modo diverso nel codice e con CSS.

Se vuoi che i dati pagati vengano modificati tramite AJAX, è qui che entra jQuery. Quello che dovresti fare è aggiungere un gestore di clic a ciascuno dei tag di ancoraggio corrispondenti a una pagina diversa. Questo gestore di clic invoca un codice jQuery che va e recupera la pagina successiva tramite AJAX e aggiorna la tabella con i nuovi dati. L'esempio seguente presuppone che tu abbia un servizio web che restituisce i nuovi dati della pagina.

 
$(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
    });
});
    
282
2009-02-02 13: 18: 06Z

Penso anche che location.replace(URL) sia il modo migliore, ma se vuoi notificare ai motori di ricerca il tuo reindirizzamento (non analizzano il codice JavaScript per vedere il reindirizzamento) dovresti aggiungere il meta tag rel="canonical" al tuo sito web.

L'aggiunta di una sezione noscript con un meta tag di aggiornamento HTML al suo interno è anche una buona soluzione. Ti suggerisco di utilizzare questo JavaScript strumento di reindirizzamento per creare reindirizzamenti. Ha anche il supporto di Internet Explorer per passare il referrer HTTP.

Il codice di esempio senza ritardi è simile a questo:

 
<!-- 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 -->
    
241
2018-01-18 15: 42: 18Z

Ma se qualcuno vuole reindirizzare nuovamente alla home page, può usare il seguente frammento di codice.

 
window.location = window.location.host

Sarebbe utile se hai tre diversi ambienti come sviluppo, gestione temporanea e produzione.

Puoi esplorare questa finestra o l'oggetto window.location semplicemente mettendo queste parole in Chrome Console o Firebug Console.

    
216
2017-01-21 20: 07: 34Z
  1. window.location.replace (window.location.protocol + "//" + window.location.host)
    2014-01-17 00: 21: 28Z
  2. ancora più semplice: window.location = '/'
    2014-06-21 23: 56: 02Z
  3. Iftah - che dipende dal meta tag "base".
    2016-01-26 13: 18: 59Z

JavaScript offre molti metodi per recuperare e modificare l'URL corrente che viene visualizzato nella barra degli indirizzi del browser. Tutti questi metodi utilizzano l'oggetto Location, che è una proprietà dell'oggetto Window. Puoi creare un nuovo oggetto Location con l'URL corrente come segue.

 
var currentLocation = window.location;

Struttura di base di un URL

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

inserisci la descrizione dell'immagine qui

  1. Protocollo: specifica il nome del protocollo da utilizzare per accedere alla risorsa su Internet. (HTTP (senza SSL) o HTTPS (con SSL))

  2. nomehost - Il nome host specifica l'host che possiede la risorsa. Ad esempio, www.stackoverflow.com. Un server fornisce servizi utilizzando il nome dell'host.

  3. port - Un numero di porta utilizzato per riconoscere un processo specifico a cui un messaggio Internet o di altra rete deve essere inoltrato quando arriva a un server.

  4. percorso - Il percorso fornisce informazioni sulla risorsa specifica all'interno dell'host a cui il client Web desidera accedere. Ad esempio, stackoverflow.com/index.html.

  5. query - Una stringa di query segue il componente del percorso e fornisce una stringa di informazioni che la risorsa può utilizzare per alcuni scopi (ad esempio, come parametri per una ricerca o come dati da elaborare).

  6. hash - La parte di ancoraggio di un URL, include il segno di cancelletto (#).

Con queste proprietà dell'oggetto Posizione è possibile accedere a tutti questi componenti URL

  1. hash : imposta o restituisce la parte di ancoraggio di un URL.
  2. host -Set o restituisce il nome host e la porta di un URL.
  3. hostname -Sets o restituisce il nome host di un URL.
  4. href : imposta o restituisce l'intero URL.
  5. nome percorso : consente di impostare o restituire il nome del percorso di un URL.
  6. port : consente di impostare o restituire il numero di porta che il server utilizza per un URL.
  7. Protocol : consente di impostare o restituire il protocollo di un URL.
  8. ricerca -Set o restituisce la parte della query di un URL

Ora Se vuoi cambiare una pagina o reindirizzare l'utente ad un'altra pagina puoi usare la proprietà href dell'oggetto Location come questa ​​p>

Puoi usare la proprietà href diOggetto posizione.

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

Oggetto posizione hanno anche questi tre metodi

  1. assign () - Carica un nuovo documento.
  2. reload () - Ricarica il documento corrente.
  3. replace () - Sostituisce il documento corrente con uno nuovo

Puoi usare assign () e sostituire i metodi anche per reindirizzare ad altre pagine come queste

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

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

In che modo assign () e replace () differiscono - La differenza tra replace () method e assign () method (), è che replace () rimuove il URL del documento corrente dalla cronologia del documento, significa che non è possibile utilizzare il pulsante "indietro" per tornare al documento originale. Quindi usa il metodo assign () se vuoi caricare un nuovo documento e vuoi dare l'opzione per tornare al documento originale.

Puoi cambiare la proprietà href dell'oggetto della posizione usando jQuery anche in questo modo

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

E quindi puoi reindirizzare l'utente ad un altro URL.

    
202
2017-10-24 09: 52: 54Z

Fondamentalmente jQuery è solo un JavaScript framework e per fare alcune cose come reindirizzamento in questo caso, puoi semplicemente usare puro JavaScript , quindi in questo caso hai 3 opzioni usando vanilla JavaScript:

1) Usando la posizione sostituisci , questo sostituirà la cronologia corrente della pagina, significa che non è possibile utilizzare il pulsante indietro per tornare all'originale pagina.

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

2) Usando la posizione assegna , questo manterrà la cronologia per te e con l'utilizzo del pulsante Indietro, puoi tornare alla pagina originale:

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

3) Consiglio di utilizzare uno di questi modi precedenti, ma questa potrebbe essere la terza opzione che utilizza puro JavaScript:

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

Puoi anche scrivere una funzione in jQuery per gestirla, ma non è raccomandata in quanto è una sola funzione JavaScript di una sola riga, inoltre puoi usare tutte le funzioni sopra senza finestra se sei già nello scope della finestra, per esempio window.location.replace("http://stackoverflow.com"); potrebbe essere location.replace("http://stackoverflow.com");

Inoltre li mostro tutti sull'immagine seguente:

 location.replace location.assign

    
191
2019-01-18 23: 52: 41Z
  1. Raccomando di usare assign() su href= anche perché quest'ultimo in alcuni casi non ha funzionato correttamente per me.
    2018-08-23 07: 57: 15Z

Dovrebbe essere in grado di impostare usando window.location.

Esempio:

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

Ecco un post precedente sull'argomento: Come reindirizzare a un'altra pagina web?

    
190
2019-05-19 13: 36: 47Z
  1. Forse funziona, ma non sono sicuro se questo sia il modo giusto per farlo. Non vedo documentazione che supporti questo. Potrebbe portare i programmatori a una cattiva pratica di programmazione.
    11-11-2016 20: 25: 22Z

Prima di iniziare, jQuery è una libreria JavaScript utilizzata per la manipolazione DOM. Quindi non dovresti usare jQuery per un reindirizzamento della pagina.

Una citazione da Jquery.com:

  

Sebbene jQuery possa funzionare senza grossi problemi nelle versioni precedenti del browser,   non testiamo attivamente jQuery e generalmente non risolviamo bug   che potrebbe apparire in loro.

È stato trovato qui: https://jquery.com/browser-support /

Quindi jQuery non è una soluzione completa e completa per la retrocompatibilità.

La seguente soluzione che utilizza JavaScript non elaborato funziona in tutti i browser e è stata standard per un lungo periodo di tempo, quindi non hai bisogno di librerie per il supporto del browser incrociato.

Questa pagina reindirizza a Google dopo 3000 millisecondi

 
<!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>

Diverse opzioni sono le seguenti:

 
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"

Quando si utilizza la sostituzione, il pulsante Indietro non tornerà alla pagina di reindirizzamento, come se non fosse mai nella cronologia. Se si desidera che l'utente possa tornare alla pagina di reindirizzamento, utilizzare window.location.href o window.location.assign. Se usi un'opzione che consente all'utente di tornare alla pagina di reindirizzamento, ricorda che quando si entra nella pagina di reindirizzamento verrà reindirizzato. Quindi mettilo in considerazione quando scegli un'opzione per il tuo reindirizzamento. In condizioni in cui la pagina sta reindirizzando solo quando un'azione viene eseguita dall'utente, la pagina nella cronologia del pulsante Indietro sarà a posto. Tuttavia, se la pagina reindirizza automaticamente, è necessario utilizzare la sostituzione in modo che l'utente possa utilizzare il pulsante Indietro senza tornare forzato alla pagina inviata dal redirect.

Puoi anche utilizzare i metadati per eseguire un reindirizzamento della pagina come segue.

Aggiornamento META

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

META Location

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

Hijacking di BASE

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

Molti altri metodi per reindirizzare il tuo cliente ignaro a una pagina che potrebbero non voler andare sono reperibili in questa pagina (non uno di essi dipende da jQuery):

  

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

Vorrei anche sottolineare che le persone non amano essere reindirizzate casualmente. Solo reindirizzare le persone quando assolutamente necessario. Se inizi a reindirizzare le persone a caso, non torneranno più sul tuo sito.

Il prossimo paragrafo è ipotetico:

Potresti essere segnalato come sito dannoso. Se ciò accade, quando gli utenti fanno clic su un collegamento al tuo sito, il browser degli utenti potrebbe avvisare che il tuo sito è dannoso. Ciò che potrebbe anche accadere è che i motori di ricerca potrebbero iniziare a perdere il tuo voto se le persone riportano una brutta esperienza sul tuo sito.

Consulta le Istruzioni per i webmaster di Google sui reindirizzamenti: https://support.google.com/webmasters/answer/2721217 hl = it &? ref_topic = 6001971

Ecco una piccola pagina divertente che ti prende a calci fuori dalla pagina.

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

Se unisci gli esempi di due pagine insieme, avrai un ciclo di reinstradamento infantile che garantirà che il tuo utente non vorrà mai più utilizzare il tuo sito.

    
162
2019-05-19 13: 38: 37Z
  1. Rispondo alla sua richiesta di jQuery dicendo che non è necessario. JQuery ha molte scorciatoie utili per JavaScript ma non c'è bisogno di scorciatoie per i reindirizzamenti. JQuery è solo JavaScript. Niente di più. Il modo normale per chiamare un reindirizzamento funzionerà con le sue funzioni usando jQuery.
    2015-06-27 12: 16: 27Z
  2. Patrick, secondo la tua logica, non c'è bisogno di JQuery in tutte le situazioni. Il punto è la convenienza e la domanda è stata chiesta. Il miglior strumento che potrei dire è la versione di JQuery perché probabilmente estrae le specifiche del browser per il futuro. Quindi il tuo argomento è ancora nullo. La domanda ha chiesto JQuery.
    2015-06-30 22: 17: 17Z
  3. Potresti aver ragione al momento, tuttavia non sei in grado di vedere il futuro e non puoi in questo momento prevedere in che modo lo sarà. E il fatto rimane la domanda per JQuery!
    2015-07-02 22: 19: 42Z
  4. "Sì JavaScript potrebbe cambiare e se cambia allora jQuery deve cambiare come jQuery è JavaScript.- Patrick W. McMahon ieri" Grazie, riposa il mio caso.
    2015-07-05 18: 45: 26Z
  5. Non hai caso. JQuery ha una maggiore possibilità di cambiaree quindi JavaScript. La nuova versione di JQuery diventa sempre più realistica e la vecchia jQuery diventa obsoleta e fa in modo che i problemi dipendano da una versione fissa di JQuery.
    2015-07-05 18: 50: 59Z
 
var url = 'asdf.html';
window.location.href = url;
    
157
2012-05-01 20: 35: 48Z

Puoi farlo senza jQuery come:

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

E se vuoi solo jQuery, puoi farlo come:

 
$jq(window).attr("location","http://yourdomain.com");
    
138
2014-11-29 06: 13: 56Z
  1. JQuery è discutibilmente una migliore idea in quanto potrebbe astrarre future modifiche /deprecazioni del browser
    2015-06-24 23: 14: 27Z

Funziona con jQuery:

 
$(window).attr("location", "http://google.fr");
    
137
2016-10-30 16: 11: 26Z

# Reindirizzamento pagina HTML con jQuery /JavaScript

Prova questo codice di esempio:

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

Se vuoi fornire un URL completo come window.location = "www.google.co.in"; .

    
84
2016-08-31 12: 08: 08Z
  1. "Usare jQuery" è um, impreciso. E l'esempio dell'utilizzo di un URL completo non funzionerà, poiché non è un URL completo. Non c'è protocollo, quindi verrà interpretato come un URL relativo.
    2017-10-31 21: 18: 27Z

Devi inserire questa riga nel tuo codice:

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

Se non hai jQuery, vai con JavaScript:

 
window.location.replace("http://stackoverflow.com");
window.location.href("http://stackoverflow.com");
    
77
2019-03-28 05: 20: 33Z
  1. qual è il punto di avvolgere tutto in jQuery?
    2016-09-22 18: 12: 41Z

Quindi, la domanda è come creare una pagina di reindirizzamento e non come reindirizzare a un sito web?

Devi solo usare JavaScript per questo. Ecco un piccolo codice che creerà una pagina di reindirizzamento dinamico.

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

Quindi dì che hai appena inserito questo snippet in un file redirect/index.html sul tuo sito web, puoi usarlo in questo modo.

  

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

E se vai a quel link, ti ​​reindirizzerà automaticamente su stackoverflow.com .

  

Link alla documentazione

Ecco come si crea una semplice pagina di reindirizzamento con JavaScript

Modifica:

C'è anche una cosa da notare. Ho aggiunto window.location.replace nel mio codice perché penso che si adatti a una pagina di reindirizzamento, ma, devi sapere che quando si utilizza il window.location.replace e si viene reindirizzati, quando si preme il pulsante Indietro nel browser, non ha torna alla pagina di reindirizzamento e tornerà alla pagina precedente, dai un'occhiata a questa piccola dimostrazione.

Esempio:

  

Il processo: store home = > reindirizza la pagina a google = > Google

     

Quando su google: google = > pulsante Indietro nel browser = > store home

Quindi, se questo è adatto alle tue esigenze, allora tutto dovrebbe andare bene. Se vuoi includere la pagina di reindirizzamento nella cronologia del browser, sostituiscilo

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

con

 
if( url ) window.location.href = url;
    
75
2014-10-26 10: 55: 01Z

Sulla tua funzione clic, aggiungi:

 
window.location.href = "The URL where you want to redirect";
$('#id').click(function(){
    window.location.href = "http://www.google.com";
});
    
70
2014-10-26 10: 44: 31Z

***** LA QUESTIONE ORIGINALE È STATA - "COME RIDIRIZZARE L'UTILIZZO DI JQUERY", QUINDI LA JQUERY DI IMPLEMENTS DI RISPOSTA > > CASO DI UTILIZZO GRATUITO *****

Per reindirizzare semplicemente a una pagina con JavaScript:

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

O se hai bisogno di un ritardo:

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

jQuery consente di selezionare elementi da una pagina Web con facilità. Puoi trovare tutto ciò che vuoi su una pagina e poi usare jQuery per aggiungere effetti speciali, reagire alle azioni degli utenti, o mostrare e nascondere il contenuto all'interno o all'esterno dell'elemento che hai selezionato. Tutti questi compiti iniziano con la conoscenza di come selezionare 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);
     });

Immagina che qualcuno abbia scritto uno script /plugin che contiene 10000 righe di codice ?! Bene, con jQuery puoi connetterti a questo codice con solo una o due righe.

    
70
2018-04-18 09: 11: 03Z
  1. È preferibile non scrivere in maiuscolo, anche se buona risposta ​​div>
    2018-10-12 19: 55: 31Z

    Prova questo:

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

    Snippet di codice dell'esempio .

        
    58
    2016-01-02 04: 29: 32Z

    jQuery non è necessario. Puoi fare ciò:

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

    È così facile!

    Il modo migliore per avviare una richiesta HTTP è con document.loacation.href.replace('URL').

        
    54
    2014-04-03 21: 23: 23Z

    Prima scrivi correttamente. Si desidera navigare all'interno di un'applicazione per un altro collegamento dalla propria applicazione per un altro collegamento. Ecco il codice:

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

    E se vuoi navigare tra le pagine all'interno della tua applicazione, allora ho anche il codice, se vuoi.

        
    51
    2014-04-03 21: 20: 11Z

    Puoi reindirizzare in jQuery in questo modo:

     
    $(location).attr('href', 'http://yourPage.com/');
    
        
    51
    2016-07-03 05: 01: 56Z

    In JavaScript e jQuery possiamo usare il seguente codice per reindirizzare la pagina su un'altra pagina:

     
    window.location.href="http://google.com";
    window.location.replace("page1.html");
    
        
    43
    2014-04-03 21: 22: 34Z

    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
    
        
    43
    2017-05-04 12: 12: 47Z
    1. C'è una ragione per archiviare l'url in jQuery come variabile, ma non con Vanilla?
      2017-08-10 05: 00: 02Z

    ECMAScript 6 + jQuery, 85 byte

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

    Per favore non uccidermi, questo è uno scherzo. È uno scherzo. Questo è uno scherzo.

    Questo ha "fornito una risposta alla domanda", nel senso che richiedeva una soluzione "usando jQuery" che in questo caso implica forzare l'equazione in qualche modo.

    A quanto pare Ferrybig ha bisogno che lo scherzo (ancora sto scherzando, sono sicuro che ci sono opzioni limitate nel modulo di revisione), quindi senza ulteriori indugi:

    Altre risposte utilizzano il attr() di jQuery sugli oggetti location o window senza necessità.

    Anche questa risposta lo abusa, ma in un modo più ridicolo. Invece di utilizzarlo per impostare la posizione, utilizza attr() per recuperare una funzione che imposta la posizione.

    La funzione si chiama jQueryCode anche se non c'è niente jQuery su di esso, e chiamare una funzione somethingCode è semplicemente orribile, specialmente quando il qualcosa non è nemmeno una lingua.

    Gli "85 byte" sono un riferimento a Code Golf. Il golf non è ovviamente qualcosa che dovresti fare al di fuori del codice golf, e inoltre questa risposta non è chiaramente giocata a golf.

    Fondamentalmente, rabbrividire.

        
    42
    2016-10-30 16: 27: 41Z

    Ecco un reindirizzamento temporale. Puoi impostare il tempo di ritardo su quello che vuoi:

     
    <!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
    2016-02-23 06: 26: 07Z
    1. meglio fare questo: setTimeout (function () {window.location.href = " google.com "}, ritardo);
      2014-04-04 21: 33: 51Z

    Ci sono tre modi principali per farlo,

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

    e ...

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

    L'ultimo è il migliore, per un reindirizzamento tradizionale, perché non salverà la pagina visitata prima di essere reindirizzato nella cronologia delle ricerche. Tuttavia, se si desidera solo aprire una scheda con JavaScript, è possibile utilizzare uno dei precedenti. 1

    EDIT: il prefisso window è opzionale.

        
    36
    2015-01-19 00: 58: 45Z

    Ho dovuto solo aggiornare questa ridicolaggine con un altro metodo jQuery più recente:

     
    var url = 'http://www.fiftywaystoleaveyourlocation.com';
    $(location).prop('href', url);
    
        
    36
    2016-07-03 04: 58: 33Z
fonte posta Qui