Bagaimana cara memaksa Internet Explorer (IE) untuk BENAR-BENAR memuat ulang halaman?

154

Saat menggunakan Internet Explorer 8 untuk menguji aplikasi web saya, saya sering menemukan itu tidak memuat ulang halaman, jadi saya tidak melihat perubahan saya. Hal ini mengakibatkan banyak waktu dan frustrasi bertanya-tanya mengapa perbaikan saya "tidak berhasil" - padahal sebenarnya browser tidak pernah memuat versi tetap.

Saya sudah mencoba tombol Refresh. Saya sudah mencoba F5, Control- F5, Control- R, Control- Shift- R, menahan Controlsambil mengklik tombol Refresh, semua yang dapat saya pikirkan - itu tidak benar-benar memuat konten baru dari server. Saya sudah mengkonfirmasi ini dengan Fiddler.

Bagaimana saya memberi tahu IE " Saya tidak peduli apa yang Anda pikir telah di-cache, saya ingin memuat ulang halaman - tidak juga, maksud saya kali ini, jujur ​​kepada Tuhan, saya ingin Anda benar - benar pergi ke server dan unduh semuanya lagi "?

EMP
sumber
2
Gunakan jendela penjelajahan pribadi, mungkin?
Josh Lee
3
Apakah mungkin server web Anda melayani halaman lama (melalui cache) alih-alih versi yang baru? Tidak masalah berapa kali Anda memuat ulang dalam kasus itu.
Michael Todd
1
Michael, tidak, saya memverifikasi di Fiddler bahwa IE tidak mendapatkan konten halaman dari server.
EMP
Control + F5 melewati Cache, aneh jika tidak ....
Tamara Wijsman
2
Kata-kata terbaik dari pertanyaan yang saya temui sejauh ini di StackExchange!
user785529

Jawaban:

126
  1. Pilih Alat >> Opsi Internet .
  2. Klik tombol Pengaturan di Riwayat Penjelajahan .
  3. Pilih tombol Setiap kali saya mengunjungi radio.
  4. Klik OK untuk menutup dialog Pengaturan.
  5. Klik OK untuk menutup dialog Opsi Internet.
Gonzalo
sumber
3
Jika ini yang Anda lakukan, tandai sebagai jawabannya
Earlz
34
Ini mungkin menyakiti kinerja browsing umum, tetapi hanya jika Anda melakukan browsing Anda umum dengan IE ...
Joel Mueller
3
Ev: Sisi yang dihadapi pengguna biasanya diperbaiki dengan mengubah URL untuk semua skrip dan lembar gaya setiap kali Anda menyentuh kode, biasanya dengan menambahkan ?version-numberakhiran string kueri.
bobince
4
"Setiap kali saya mengunjungi halaman web" sepertinya tidak melakukan apa yang Anda pikirkan. Lihat fiddler2.com/redir/?id=httpperf
EricLaw
6
Saya setuju dengan @EricLaw, jika Anda menggunakan Fiddler, Anda akan melihat bahwa file yang terkait dengan halaman terkadang tidak dimuat ulang bahkan ketika "Setiap kali saya mengunjungi halaman web" diatur. Gunakan menu toolbar IE: Cache> Selalu menyegarkan dari server, atau tombol Hapus Cache di Fiddler.
Phillip Ngan
43

Sejak itu menyatakan bahwa IE8 adalah browser, Anda dapat menekan F12untuk membuka alat pengembangan dan pilih menu Cache di bagian atas dan kemudian selalu menyegarkan dari server ke cache bypass.

Singkatnya, TekanF12 . Klik Cache -> Selalu Refresh dari Server

Anda juga dapat menghapus cache Anda di sini, jika itu adalah tindakan yang diinginkan. Opsi selalu menyegarkan bukan opsi global dan tidak akan menghalangi kinerja keseluruhan di IE.

IE7 juga memiliki alat pengembangan, tetapi harus diinstal secara terpisah. Anda juga dapat menggunakan alat dev IE8 untuk menjalankan browser dalam mode IE7.

Brandon
sumber
+1 untuk mengatasi ini tanpa menggunakan opsi global.
Marcus Riemer
Mirip dengan di sini , itu masih tidak selalu menyegarkan semua konten. Dan saya juga tidak tahu bahwa memuat ulang itu baik di seluruh URL - setiap jendela tampaknya memiliki F12 sendiri. Ini adalah cara yang lebih menyeluruh untuk dilakukan jika, jika Anda memiliki akses ke javascript termasuk.
ruffin
1
Bagaimana Anda melakukan ini di IE 11? Tidak ada opsi cache yang bisa saya temukan.
David Thielen
4
Di IE 11 opsi ini berada di bawah F12 -> Jaringan -> ikon ke-3 dari kiri.
Den
22

Ctrl+ F5di IE memuat kembali halaman yang mengabaikan cache

mfeingold
sumber
26
Tidak, tidak. Saya tahu itu mengabaikan cache beberapa waktu, tetapi tidak setiap saat.
EMP
16
Ctrl + f5 selalu memuat ulang halaman dari server. Apa itu tidak selalu lakukan adalah reload file tambahan bahwa referensi halaman
2
Cukup adil - tetapi saya membutuhkannya untuk memuat semuanya.
EMP
1
CTRL + F5 harus melakukan penyegaran penuh halaman dan semua sumber dayanya. Panggilan yang dilakukan melalui XMLHTTPRequest nanti mungkin di-cache (jika Anda tidak ingin di-cache, kirim tajuk tanpa-cache yang sesuai). Satu peringatan adalah bahwa jika halaman tersebut adalah XML, itu benar-benar dimuat melalui MSXML, dan bahwa DocHost TIDAK menghargai CTRL + Segarkan dengan benar.
EricLaw
3
ctrl + f5 tidak selalu memuat ulang semuanya dari server. Dalam pengujian saya, javascript yang terdapat dalam file html tidak dimuat ulang setelah menekan ctrl-f5 meskipun halaman telah berubah.
rcarver
18

IE sangat bersemangat untuk me-cache halaman, bahkan ketika Anda mengatakannya untuk tidak melalui header cache. Microsoft KB 234067 menjelaskan mantra yang diperlukan. Singkatnya, Anda perlu mengirimkan tajuk berikut.

Pragma: no-cache
Cache-Control: no-cache
Expires: <some time in the past>

Pengaturan Expires = -1(seperti yang direkomendasikan dalam artikel KB) harus berfungsi untuk sebagian besar kerangka kerja; browser diperlukan untuk memperlakukan format tanggal yang tidak valid sebagai berada di masa lalu ( RFC 2616 ).

Di .NET, Anda bisa melakukannya pada perincian halaman demi halaman dengan menggunakan serangkaian metode ini sebelum memanggil halaman web:

HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
HttpContext.Response.Cache.SetValidUntilExpires(false);
HttpContext.Response.Cache.SetRevalidation(System.Web.HttpCacheRevalidation.AllCaches);
HttpContext.Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
HttpContext.Response.Cache.SetNoStore();

lihat: http://www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ Berfungsi dengan baik untuk MVC3.0.

Marcelo Cantos
sumber
1
Tidak Benar. IE6 + sepenuhnya menghormati semua header yang melarang cache. fiddler2.com/redir/?id=httpperf
EricLaw
Itu semua sangat baik, tetapi tidak membantu WRT pertanyaannya.
Matthias Urlichs
6

Tab Jaringan pada bilah alat pengembang web memiliki tombol untuk menghapus cache dengan mudah. Saya biasanya menggunakannya dalam kasus yang Anda jelaskan.

Ini tidak ideal, karena Anda mungkin tidak benar-benar ingin menghapus seluruh cache Anda, tetapi karena saya tidak menggunakan IE untuk penelusuran umum, ini berfungsi untuk saya.

pkaeding
sumber
4

Ini masih terjadi di IE9. Hebatnya, jawabannya adalah Ctrl- ShiftTombol -Refresh

PandaWood
sumber
Apakah fungsinya berbeda dari tombol Ctrl-Refresh?
Jon Onstott
3

Kebetulan, masalah mungkin juga akan ada untuk pengunjung situs web Anda. Saya melihat ide berikut dalam buku AJAX ...

Gunakan PHP untuk menambahkan token acak ke URL saat ini sehingga peramban diperdaya untuk berpikir itu adalah halaman terpisah.

Moshe
sumber
Membuat URL jelek.
LawrenceC
2

Saya sendiri pernah mengalami masalah yang sama. Saya percaya satu-satunya cara untuk melakukannya adalah menghapus cache (Keselamatan -> Hapus Riwayat Perambanan). Hanya centang "File Internet Sementara".

Semoga ini membantu.

jchapa
sumber
2

Tahan tombol altatau ctrlsaat Anda mengklik tombol refresh.

niaccm
sumber
1

Saya setuju bahwa menambahkan token acak ke url adalah solusi yang paling dapat diandalkan dan setelah diterapkan, pengguna tidak perlu melakukan apa pun.

Selain dari pendekatan token acak yang cenderung selalu saya lakukan untuk memaksa memuat ulang (permintaan) halaman secara penuh dan semua file dependennya, saya hanya menempatkan kursor saya di akhir url dan tekan Enter. Bekerja setiap saat ... dan saya menggunakan IE 8.

Jerry
sumber
1

F12-> CTRL+ Rsedikit lebih cepat untuk IE9 +. Seperti yang telah disebutkan orang, IE tidak membersihkan cache dengan sangat cerdas seperti Chrome.

Chris S
sumber
1

Saya tahu ini mungkin tampak agak aneh ... tapi satu hal yang saya perhatikan belakangan ini, adalah bahwa Anda terkadang mendapatkan hasil yang berbeda tergantung pada BAGAIMANA Anda "menyegarkan". Saya telah melihat perilaku berikut:

F5> memuat dari cache tanpa menyegarkan,
Alt+ D, ENTER> benar-benar menyegarkan melewati cache.
( Alt+ Ddapat diganti dengan mengklik di bilah alamat)

eidylon
sumber