[javascript] Come reindirizzare a un'altra pagina Web?



Answers

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

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




Sarebbe utile 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 entrerà 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. Nell'esempio seguente si presuppone che si disponga di un servizio Web che restituisce i dati della nuova 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
    });
});



***** LA QUESTIONE ORIGINALE È STATA - "COME RIDIRIZZARE L'UTILIZZO DI JQUERY", DA QUI LA JQUERY DI ATTIVITÀ DELLA RISPOSTA >> CASE DI UTILIZZO COMPLEMENTARE *****

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 linee di codice ?! Bene, con jQuery puoi connetterti a questo codice con solo una o due righe.




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

Una citazione da Jquery.com:

Sebbene jQuery possa essere eseguito senza grossi problemi nelle versioni precedenti dei browser, non testiamo attivamente jQuery e generalmente non risolviamo bug che potrebbero apparire in essi.

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

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

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

Questa pagina verrà reindirizzato a Google dopo 3000 millisecondi

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

Diverse opzioni sono le seguenti:

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

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 dover tornare indietro alla pagina inviata dal reindirizzamento.

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

META Aggiorna

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

META Location

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

BASE Hijacking

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

In questa pagina sono disponibili molti altri metodi per reindirizzare il client ignaro a una pagina che potrebbero non desiderare di visitare (non uno di questi 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.

La parte successiva è ipotetica:

Potresti anche 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. Quello 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 relative ai reindirizzamenti: https://support.google.com/webmasters/answer/2721217?hl=en&ref_topic=6001971

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

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

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




Uso:

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



# Reindirizzamento della 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"; .




ECMAScript 6 + jQuery, 85 byte

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

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

Ciò 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 sul modulo di recensione), quindi senza ulteriori indugi:

Altre risposte utilizzano attr() di jQuery sugli oggetti location o window inutilmente.

Anche questa risposta lo abusa, ma in un modo più ridicolo. Invece di usarlo 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 chiamando una funzione somethingCode è semplicemente orribile, specialmente quando il qualcosa non è nemmeno un linguaggio.

"85 byte" è 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.




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>



jQuery non è necessario. Puoi farlo:

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

È così facile!

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




Puoi farlo senza jQuery come:

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

E se vuoi solo jQuery, puoi farlo come:

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



Per prima cosa 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.




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

window.location = window.location.host

Sarebbe utile se hai tre diversi ambienti come sviluppo, messa in scena e produzione.

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




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

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






Devi inserire questa riga nel tuo codice:

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

Se non hai jQuery, vai su JavaScript con:

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



Related