2009-12-09 23:52:52 +0000 2009-12-09 23:52:52 +0000
155
155

Hoe dwing je Internet Explorer (IE) om de pagina ECHT opnieuw te laden?

Wanneer ik Internet Explorer 8 gebruik om mijn webapplicatie te testen, vind ik vaak dat het de pagina niet opnieuw laadt, dus ik zie mijn wijzigingen niet. Dit heeft geresulteerd in een hoop tijdverlies en frustratie over de reden waarom mijn fix “niet werkte” - terwijl de browser in feite nooit de vaste versie heeft geladen.

Ik heb de Refresh knop geprobeerd. Ik heb F5, Control-F5, Control-R, Control-Shift-R geprobeerd, waarbij ik Control ingedrukt hield terwijl ik op de Refresh knop drukte, alles wat ik kon bedenken - het laadt niet echt de nieuwe inhoud van de server. Ik heb dit bevestigd met Fiddler.

Hoe vertel ik IE “ Het kan me niet schelen wat je denkt dat je hebt gecached, ik wil de pagina herladen - nee echt, ik mean het deze keer, eerlijk gezegd, ik wil dat je werkelijk naar de server gaat en alles opnieuw downloadt”?

Antwoorden (12)

126
126
126
2009-12-09 23:57:24 +0000
  1. 1. Selecteer Tools >> Internet Opties.
  2. 2. Klik op de knop Instellingen in Browsing History.
  3. Klik op de knop Instellingen. 3. Selecteer de Elke keer dat ik de webpagina bezoek radioknop.
  4. Klik op de knop Browsing geschiedenis. 4. Klik op OK om het dialoogvenster Instellingen te sluiten.
  5. Klik op OK om het dialoogvenster Internetopties te sluiten.
43
43
43
2010-07-08 18:30:53 +0000

Aangezien er staat dat IE8 de browser is, kunt u op F12 drukken om de ontwikkeltools te openen en het Cache-menu bovenaan te selecteren en dan altijd te verversen van server naar bypass-cache.

Kortom, Druk op F12. Klik op Cache -> Altijd verversen vanuit Server

Je kunt hier ook gewoon je cache wissen, als dat de gewenste actie is. De optie Altijd verversen is geen globale optie en zal de algemene prestaties in IE niet belemmeren.

IE7 heeft ook ontwikkelingstools, maar deze moeten apart worden geïnstalleerd. U kunt ook de IE8 dev tools gebruiken om de browser in IE7 modus te draaien.

22
22
22
2009-12-10 00:38:04 +0000

Ctrl+F5 in IE laadt de pagina opnieuw en negeert de cache.

19
19
19
2009-12-10 01:31:08 +0000

IE staat te popelen om pagina’s te cachen, zelfs als je het niet via cacheheaders vertelt. Microsoft KB 234067 ](http://support.microsoft.com/kb/234067/EN-US) legt de vereiste bezweringen uit. Kortom, u dient de volgende headers te leveren.

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

Setting Expires = -1 (zoals aanbevolen in het KB-artikel) zou voor de meeste raamwerken moeten werken; browsers zijn verplicht om ongeldige datumformaten te behandelen als zijnde in het verleden RFC 2616 ).

In . NET, kunt u het op een pagina per pagina granulariteit doen door deze set van methoden te gebruiken voordat u de webpagina oproept:

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();

zie http://www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ Werkt goed voor MVC3.0.

6
6
6
2009-12-09 23:58:04 +0000

Het tabblad Netwerk van de werkbalk van de webontwikkelaar heeft een knop om de cache gemakkelijk te wissen. Ik gebruik dat meestal in het geval dat je beschrijft.

Het is niet ideaal, omdat je misschien niet echt je hele cache wilt wissen, maar omdat ik IE niet gebruik voor algemeen browsen, werkt het voor mij.

4
4
4
2011-04-01 03:47:03 +0000

Dit gebeurt nog steeds in IE9. Verbazingwekkend genoeg is het antwoord Ctrl-Shift-Refresh-knop

3
3
3
2009-12-10 00:14:40 +0000

Overigens zal het probleem mogelijk ook voor uw websitebezoekers bestaan. Ik zag het volgende idee in een AJAX boek…

Gebruik PHP om een willekeurige token toe te voegen aan de huidige URL, zodat de browser wordt misleid om te denken dat het een aparte pagina is.

2
2
2
2009-12-09 23:58:50 +0000

Ik heb zelf hetzelfde probleem gehad. Ik denk dat de enige manier om het te doen is om de cache te wissen. (Veiligheid -> Wis Browsing History). Controleer alleen “Tijdelijke Internet Bestanden”.

Hoop dat dit helpt.

2
2
2
2010-11-17 15:36:29 +0000

Houd de alt- of ctrl-toets ingedrukt terwijl u op de verversingsknop klikt.

1
1
1
2009-12-10 01:49:44 +0000

Ik weet dat dit misschien een beetje vreemd lijkt… maar één ding heb ik de laatste tijd gemerkt, is dat je soms verschillende resultaten krijgt, afhankelijk van HOE je “ververst”. Ik heb het volgende gedrag gezien:

F5> ladingen uit de cache zonder verversing, Alt+D, ENTER > reëel ververst het omzeilen van de cache. (Alt+D kan worden vervangen door te klikken in de adresbalk)

1
1
1
2012-08-22 18:35:56 +0000

F12 -> CTRL+R is iets sneller voor IE9+. Zoals mensen al hebben gezegd, wist IE de cache niet erg intelligent zoals Chrome dat doet.

1
1
1
2010-08-12 02:58:55 +0000

Ik ben het ermee eens dat het toevoegen van een random token aan de url de meest betrouwbare oplossing is en als het eenmaal is geïmplementeerd hoeft de gebruiker niets meer te doen.

Naast de random token aanpak wat ik altijd doe om een volledige reload (verzoek) van de pagina en alle afhankelijke bestanden te forceren, plaats ik gewoon mijn cursor op het einde van de url en druk op Enter. Werkt elke keer… en ik gebruik IE 8.