Metodo preferito per ricaricare la pagina con JavaScript? [chiuso]


103

quale modo per ricaricare una pagina corrente (utilizzando un pulsante) preferiresti?

1 <input type="button" value="Reload" onClick="history.go(0)">
2 <input type="button" value="Reload" onClick="location.reload(true)">
3 <input type="button" value="Reload" onClick="window.location.reload(true)">
4 <input type="button" value="Reload" onClick="window.location.href=window.location.href">
5 <input type="button" value="Reload" onClick="document.location.reload(true)">
6 <input type="button" value="Reload" onClick="document.location.href=document.location.href">

Poiché l'URL della pagina cambia frequentemente, AFAIK una "funzione di riserva" come

<a href="urlOfCurrentPage.html" onclick="window.location.reload(true);return false;">Reload</a>

non funzionerà per me, giusto?


Nota che i numeri 2 e 3 sono la stessa cosa
Matti Virkkunen

3
I numeri 4 e 6 non ricaricheranno nulla se è presente un # nell'url
jontro

2
I numeri 2, 3 e 5 non sono implementati da tutti i browser, utilizzare *.location.reload()come argomento viene utilizzato solo per specificare se la cache deve essere ignorata. stackoverflow.com/questions/10876244/...
Dead.Rabit

OP ha mancato il metodo preferito di tutti: location.reload ();
Doug S,

Risposte:


57

Dipende da cosa vuoi fare. Il quarto e il sesto metodo non ricaricano alcun dato del modulo, essenzialmente effettuano una visita separata alla pagina. Alcune versioni di Firefox presentano anche problemi con il terzo metodo. Oltre a questo, sceglierei il quinto come preferenza personale. Sembra il più chiaro.


Il secondo metodo (.reload) non funziona in alcuni casi.
Aristos

quindi, "document.location.reload (true)" è sicuro per tutti i browser e il più robusto?
Mel

@ Mel, credo di sì. In realtà, finestra e documento dovrebbero funzionare entrambi.
tloflin

10
nota che quando usi document.location.reload () su un POST il browser ti chiederà se vuoi reinviare i dati per ricaricare la pagina.
wimh

Wimmel, sì, per risolverlo, usa il pattern PRG: en.wikipedia.org/wiki/Post/Redirect/Get
Sarel Botha

30

Puoi anche fare:

wdrappresenta la finestra || documento :

  • wd.location.assign (wd.location.href) : vai all'URL
  • wd.location.replace (wd.location.href) : vai all'URL e sostituisci la pagina precedente nella cronologia
  • wd.location.reload (<true / false / blank>) : ricarica la pagina dal server / cache / cache
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.