Metode yang lebih disukai untuk memuat ulang halaman dengan JavaScript? [Tutup]

103

cara mana untuk memuat ulang halaman saat ini (menggunakan tombol) yang Anda inginkan?

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

Karena URL halaman sering berubah AFAIK seperti 'fungsi fallback'

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

tidak akan berhasil untuk saya, bukan?

Mel
sumber
Perhatikan bahwa angka 2 dan 3 adalah hal yang sama
Matti Virkkunen
3
Nomor 4 dan 6 tidak akan memuat ulang apa pun jika ada # hadir di url
jontro
2
Nomor 2, 3 & 5 tidak diterapkan oleh semua browser, gunakan *.location.reload()sebagai argumen hanya digunakan untuk menentukan apakah cache harus diabaikan. stackoverflow.com/questions/10876244/…
Dead.Rabit
OP melewatkan metode yang paling disukai: location.reload ();
Doug S

Jawaban:

57

Tergantung pada apa yang ingin Anda lakukan. Metode keempat dan keenam tidak akan memuat ulang data formulir apa pun, mereka pada dasarnya melakukan kunjungan terpisah ke halaman. Beberapa versi Firefox juga bermasalah dengan metode ketiga. Selain itu, saya memilih yang kelima sebagai preferensi pribadi. Sepertinya yang paling jelas.

tloflin.dll
sumber
Metode kedua (.reload) tidak berfungsi dalam beberapa kasus.
Aristos
jadi, "document.location.reload (true)" adalah lintas-browser aman dan yang paling kuat?
Mel
@Mel, saya yakin begitu. Sungguh, jendela dan dokumen harus berfungsi.
tloflin
10
perhatikan bahwa ketika Anda menggunakan document.location.reload () pada POST browser akan menanyakan apakah Anda ingin mengirim ulang data untuk memuat ulang halaman.
wimh
Wimmel, ya untuk memperbaikinya menggunakan pola PRG: en.wikipedia.org/wiki/Post/Redirect/Get
Sarel Botha
30

Anda juga dapat melakukan:

wdmewakili jendela || dokumen :

  • wd.location.assign (wd.location.href) : buka URL
  • wd.location.replace (wd.location.href) : buka URL dan ganti halaman sebelumnya dalam riwayat
  • wd.location.reload (<true / false / blank>) : memuat ulang halaman dari server / cache / cache
vol7ron
sumber