JavaScript menyegarkan dari halaman saat ini

176

Bagaimana saya bisa memaksa browser web untuk melakukan penyegaran halaman melalui JavaScript?
Penyegaran keras berarti mendapatkan salinan baru halaman DAN menyegarkan semua sumber daya eksternal (gambar, JavaScript, CSS, dll.).

leepower
sumber

Jawaban:

296

Coba gunakan:

location.reload(true);

Ketika metode ini menerima truenilai sebagai argumen, itu akan menyebabkan halaman selalu dimuat ulang dari server. Jika salah atau tidak ditentukan, browser dapat memuat ulang halaman dari cache.

Info lebih lanjut:

CMS
sumber
19
Saya cukup yakin ini tidak akan memuat ulang semua sumber daya eksternal. Anda harus membaca semua a, link, scriptdan imgunsur-unsur dan menambahkan query string acak untuk akhir setiap referensi eksternal setelah reload keras. Atau, lakukan itu di server.
Doug Neiner
3
Apakah ini berhasil pada 2010? Itu pasti tidak berfungsi di 2018 (di Chrome). Chrome memuat semuanya (kecuali / Beranda / Indeks) dari cache. Tampaknya berfungsi di firefox WTH?
Maciej Szpakowski
1
@MaciejSzpakowski Menggunakan Cache.keys () dan Cache.delete () bekerja untuk saya. Contoh: jsfiddle
r.delic
3
Itu tidak bekerja untuk saya. Ini tidak menghapus data yang saya hapus menggunakan ctrl F5
ozimax06
2
Saya pikir fungsi ini dihapus dalam HTML5.
Mygod
8
window.location.href = window.location.href
Gsp Ivan
sumber
4
Ini tidak akan menarik halaman dari server jika browser telah di-cache.
LukeP