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

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:


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

4
Ini tidak akan menarik halaman dari server jika browser telah di-cache.
LukeP
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.