Discussion:
Pagina herladen
(te oud om op te antwoorden)
Sjoerd
2019-07-21 20:56:16 UTC
Permalink
Ik heb een html-pagina die nogal eens wordt geactualiseerd. Maar als de
pagina vanuit de cache geladen wordt, dan komen de veranderingen niet
door. Na enig zoekwerk is dit wat dan in het 'head'-gedeelte zou moeten
staan:

<meta http-equiv="Cache-control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">

Maar ik heb gezien dat dit niet werkt. Je hebt ook dit:

<meta http-equiv="refresh" content="1"/>

Maar dan herlaadt-ie iedere seconde opnieuw, dat is ook weer niet de
bedoeling.
Mogelijk zou dit in de <body>-tag kunnen staan:

<body onload="javascript:document.location.reload(true)">

Maar dat werkt weer alleen als Javascript is ge-enabled op iemands browser.

Iemand enig idee wat de beste manier is?
BugHunter
2019-07-21 21:33:38 UTC
Permalink
Post by Sjoerd
Ik heb een html-pagina die nogal eens wordt geactualiseerd. Maar als de
pagina vanuit de cache geladen wordt, dan komen de veranderingen niet
door. Na enig zoekwerk is dit wat dan in het 'head'-gedeelte zou moeten
<meta http-equiv="Cache-control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="refresh" content="1"/>
Maar dan herlaadt-ie iedere seconde opnieuw, dat is ook weer niet de
bedoeling.
<body onload="javascript:document.location.reload(true)">
Maar dat werkt weer alleen als Javascript is ge-enabled op iemands browser.
Iemand enig idee wat de beste manier is?
Voor Windows: F5
--
\ / http://nieuwsgroepen.tk
-------------///----------------------------------
/ \ Bye, BugHunter
Rob
2019-07-22 08:22:09 UTC
Permalink
Post by Sjoerd
Ik heb een html-pagina die nogal eens wordt geactualiseerd. Maar als de
pagina vanuit de cache geladen wordt, dan komen de veranderingen niet
door. Na enig zoekwerk is dit wat dan in het 'head'-gedeelte zou moeten
<meta http-equiv="Cache-control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
Maar ik heb gezien dat dit niet werkt.
Dan is je browser stuk. Maar dat komt steeds vaker voor tegenwoordig,
dat browsermakers bepaalde dingen ineens niet meer ondersteunen omdat
ze het nut er niet van inzien of ze denken dat het misbruikt wordt.
Helaas helaas...
Post by Sjoerd
<meta http-equiv="refresh" content="1"/>
Maar dan herlaadt-ie iedere seconde opnieuw, dat is ook weer niet de
bedoeling.
Sterker nog, dat is heel wat anders dan waar je om vroeg!
Het kan wel zijn dat je dit wilt combineren maar het heeft niks te
maken met dat cache probleem.
Post by Sjoerd
<body onload="javascript:document.location.reload(true)">
Maar dat werkt weer alleen als Javascript is ge-enabled op iemands browser.
Iemand enig idee wat de beste manier is?
Ik denk dat het enige wat echt altijd werkt is om je site helemaal om
te bouwen naar de manier waarop dat tegenwoordig altijd werkt.
(websockets die gegevens dynamisch ophalen en lokaal in de pagina zetten)

Maar dat wil je vast niet.
Dan er maar mee leven denk ik.
unknown
2019-07-22 08:38:33 UTC
Permalink
Post by Rob
Post by Sjoerd
Ik heb een html-pagina die nogal eens wordt geactualiseerd. Maar als de
pagina vanuit de cache geladen wordt, dan komen de veranderingen niet
door. Na enig zoekwerk is dit wat dan in het 'head'-gedeelte zou moeten
<meta http-equiv="Cache-control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
Maar ik heb gezien dat dit niet werkt.
Dan is je browser stuk.
Het zijn HTTP-headers die in de HTTP-response moeten staan. Dat sommige
browsers deze twee wel ondersteunen is mooi meegenomen, maar je mag er
niet op vertrouwen dat het in élke browser werkt. Zowel `cache-control`
en `pragma` zijn nergens gedefinieerd voor `<meta http-equiv>`.
Post by Rob
Ik denk dat het enige wat echt altijd werkt is om je site helemaal om te
bouwen naar de manier waarop dat tegenwoordig altijd werkt. (websockets
die gegevens dynamisch ophalen en lokaal in de pagina zetten)
Of de server configureren zodat ie fatsoenlijke headers meestuurt.
--
robert
Sjoerd
2019-07-22 10:49:20 UTC
Permalink
Post by Rob
Ik denk dat het enige wat echt altijd werkt is om je site helemaal om te
bouwen naar de manier waarop dat tegenwoordig altijd werkt.
(websockets die gegevens dynamisch ophalen en lokaal in de pagina zetten)
Voor iemand voor wie dit nieuw is, is het even wat uitzoekerij om er achter
te komen wat je nou bedoelt. Wat is een websocket, om te beginnen.
Maar ik zal het in de gaten houden.
Post by Rob
Maar dat wil je vast niet.
Ik vraag me werkelijk af waardoor die indruk bij jou wordt gewekt.
Rob
2019-07-22 12:13:38 UTC
Permalink
Post by Sjoerd
Post by Rob
Ik denk dat het enige wat echt altijd werkt is om je site helemaal om te
bouwen naar de manier waarop dat tegenwoordig altijd werkt.
(websockets die gegevens dynamisch ophalen en lokaal in de pagina zetten)
Voor iemand voor wie dit nieuw is, is het even wat uitzoekerij om er achter
te komen wat je nou bedoelt. Wat is een websocket, om te beginnen.
Maar ik zal het in de gaten houden.
Nou je kunt dit natuurlijk uitbesteden aan een of ander CMS wat al zo
werkt.
Post by Sjoerd
Post by Rob
Maar dat wil je vast niet.
Ik vraag me werkelijk af waardoor die indruk bij jou wordt gewekt.
Omdat je al begon met "maar ja als de mensen javascript hebben uitgezet
dan werkt dit niet". Dit soort oplossingen is 100% afhankelijk van
javascript, dus dat wil je dan vast niet.

Erik Baas
2019-07-22 08:57:58 UTC
Permalink
Post by Sjoerd
Ik heb een html-pagina die nogal eens wordt geactualiseerd. Maar als de
pagina vanuit de cache geladen wordt, dan komen de veranderingen niet
door.
Met AJAX (*) kun je de _inhoud_ van (delen van) de pagina actueel houden.

*: Asynchronous JavaScript and XML, zie
https://nl.wikipedia.org/wiki/Asynchronous_JavaScript_and_XML

Een andere manier is om aan de URL een parameter toe te voegen die
telkens verandert, bv. een oplopende of random teller. Daarmee dwing je
de browser om de nieuwste versie op te halen.
--
Erik.
Sjoerd
2019-07-22 10:50:21 UTC
Permalink
Post by Erik Baas
Post by Sjoerd
Ik heb een html-pagina die nogal eens wordt geactualiseerd. Maar als de
pagina vanuit de cache geladen wordt, dan komen de veranderingen niet
door.
Met AJAX (*) kun je de _inhoud_ van (delen van) de pagina actueel houden.
*: Asynchronous JavaScript and XML, zie
https://nl.wikipedia.org/wiki/Asynchronous_JavaScript_and_XML
Dat ziet er interessant uit. Ook hier op W3Schools een heel heldere
uiteenzetting: https://www.w3schools.com/js/js_ajax_intro.asp

Het leunt dus wel weer op Javascript, dat in de browser moet zijn
geactiveerd. Geen idee in hoeverre je daar tegenwoordig ernstig rekening
mee moet houden.
Post by Erik Baas
Een andere manier is om aan de URL een parameter toe te voegen die
telkens verandert, bv. een oplopende of random teller. Daarmee dwing je
de browser om de nieuwste versie op te halen.
In de statistieken zie ik dat de betreffende pagina vaak de eerste, en ook
de enige, is via welke men de site binnenkomt. Waarschijnlijk gebookmarked.
En ja, dan stuit men op niet-bestaande pagina's.
Loading...