clientside date & time?

Tags:    javascript

Hejsa udviklere

Hvis man vil have klientens dato og tid kan man så se culture? Eventuel få et tidspunkt/dato som er utc?

Sagen er vi skal rette noget i en gammel asp side (ikke asp.net) og problematikken ligger i at Chrome ignorerer alle meta tags der siger den udløber nu eller for 3 år siden og ikke skal caches. Så når man logger ud og trykker på tilbageknappen så hentes en cachet udgave af siden med indhold.

Vi har så fundet ud af at javascript køres på siden, så vi arbejder på en løsning der skal validere ud fra en masse regler om siden er cachet eller ej. Vi skal så sikre at tidsstemplet vi får clientside er i samme format som serverside - så vi skal sikre at det er samme tidszone etc.

Vi overvejer lidt om vi måske skal lave noget session validering med nogle data fra session, eller om vi måske skal skifte til at se hvornår den sidst er kørt fra serveren. Det vil tiden vise lidt når vi ved hvad muligheder for at sikre clientside dato og tid er det samme som serverside. Vi er ikke helt sikre fordi der er nogle problematikker omkring at hvis deres ud er indstillet forkert, de ikke har indstillet til sommer/vinter-tid som gør det sværere for os at vide om siden er valideret eller om de ikke har stillet uret korrekt eller hvad der være grunden.



4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Meta-tags er ikke brugbare i det lange løb. Du skal sende de korrekte response headers. I asp er det vist Response.AddHeader ?

Derud over, findes der er en lang række no-cache headers - men alle skal sendes som headers. De åbenlyse er Cache-Control og pragma. Der udover kan sidens Expire headers sættes til gammel dato. Så vil Chrome m.fl. loade en ny version, når siden ses som værende udløbet.

Ellers kan du blot stemple et timestamp efter URLen? Ex. default.asp?{unix-timestamp}
Ikke kønt, men det virker. En query betragtes som en del af hele URLen, og når timestamp ændres, så er det en ny URL.



Meta-tags er ikke brugbare i det lange løb. Du skal sende de korrekte response headers. I asp er det vist Response.AddHeader ?

Derud over, findes der er en lang række no-cache headers - men alle skal sendes som headers. De åbenlyse er Cache-Control og pragma. Der udover kan sidens Expire headers sættes til gammel dato. Så vil Chrome m.fl. loade en ny version, når siden ses som værende udløbet.

Ellers kan du blot stemple et timestamp efter URLen? Ex. default.asp?{unix-timestamp}
Ikke kønt, men det virker. En query betragtes som en del af hele URLen, og når timestamp ændres, så er det en ny URL.


Vi har prøvet med de omtalte headers og Chrome er den eneste der er ligeglad. Det med timestampet er vel ligemeget når chrome viser en cachet udgave der ikke reloades?
Det er det der er problematikken at Chrome viser blot en gammel cachet side selvom den ikke burde, og så køres siden ikke en gang til og dermed vises noget gammelt indhold man ikke længere skal have adgang til.



Chrome og alle andre browsere skal fortælles at der findes en ny version. Chrome kigger først efter en ny version, når den gamle er udgået. :)

Kontakter Chrome serveren? Hvis ikke, så har i ikke fortalt at siden er udgået.

Princippet med timestamp, er nøjagtig det samme som force-refresh af stylesheets:
http://stackoverflow.com/questions/1239907/can-i-force-a-refresh-of-my-stylesheet-file



Chrome og alle andre browsere skal fortælles at der findes en ny version. Chrome kigger først efter en ny version, når den gamle er udgået. :)

Kontakter Chrome serveren? Hvis ikke, så har i ikke fortalt at siden er udgået.

Princippet med timestamp, er nøjagtig det samme som force-refresh af stylesheets:
http://stackoverflow.com/questions/1239907/can-i-force-a-refresh-of-my-stylesheet-file


På trods af vi siger den er udløbet for 3 år siden så snart den sendes afsted så virker tilbageknappen ganske udemærket uden at refreshe siden, men leverer Chrome's cachede side tilbage.
Så første gang vi trykker på tilbageknappen så kontakter chrome ikke serveren på trods af en masse fortæller den at siden er udløbet, ikke må cahces etc.



t