Gå til innhold

[Løst] Hvordan unngå å måtte refreshe side ved nytt innhold?


Anbefalte innlegg

Videoannonse
Annonse
Gjest Slettet+1523

At en nettside må refreshes for at nytt innhold skal vises er vel ikke så forferdelig rart. Dersom problemet ligger i at den cachede versjonen av nettsiden vises selv om en ny versjon er tilgjengelig, selv etter en refresh, ville jeg tatt en kikk på .htaccess-filen for å se hvor lang levetid forskjellige assets har, og kanskje justere på dette.

Lenke til kommentar

Når du går inn på en nettside laster du i praksis ned et dokument på PC-en din. Det er altså ingen varig forbindelse, så fort dokumentet er lastet ned er transaksjon ferdig. Når du legger ut nye bilder vil altså dokumentet hos brukeren være utdatert inntil de spør serveren på nytt (oppdatering / refresh).

 

I tillegg kommer situasjonen som OneFatCat nevner ovenfor, at brukeren får beskjed om at de allerede sitter på siste versjon på grunn av mellomlagring / caching.

 

Det er fullt mulig å lage løsninger som unngår dette; det enkleste vil nok være en AJAX-komponent som jevnlig spør serveren om det har kommet nye bilder. Dette kan dog være litt jobb å implementere, så det blir jo en vurderingssak om det er verdt det: Hvor ofte sitter hver bruker på siden din om gangen - er det sannsynlig at du vil legge ut en oppdatering (bilde) akkurat i det en bruker besøker siden?

  • Liker 1
Lenke til kommentar

Mulig jeg har missforstått. Jeg har bare intrykk av at:

hvis en kunde som har vært på nettsiden min for en måned siden går inn på den nå - må kunden "oppdatere" nettsiden i nettleseren for å se de nye endringene.

Skjønner noen hva jeg mener?

 

ikke alle kunder vet at man må trykke trykke på refresh.. og av og til trykker man da på en død link hvis jeg har gjort store endringer på navigasjonen eller lignende....

Lenke til kommentar
Gjest Slettet+1523

Er det noe felles for de som opplever dette? Nettleser, operativsystem, går de inn via mobil...?

 

EDIT: Jeg vil også si det høres rart ut fra situasjonen du beskriver at brukere skal oppleve problemer med å få opp gamle versjoner av ting - når du besøker en side en måned etter sist gang, bør nye versjoner av filene lastes inn automatisk. Det skal ikke være nødvendig å refreshe slik du sier for å hente ned nye filer.

Endret av Slettet+1523
Lenke til kommentar

Caching kan styres fra serveren. Hvis TS har lagt siden på f.eks et webhotell eller annen shared hosting kan de ha satt cachen til å vare lenge for å minimere serverlasten.

 

Du kan overstyre serverens cache-instillinger ved å f.eks legge dette mellom <head> og </head> tagene dine i dokumentet:

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
  • Liker 1
Lenke til kommentar

 

Caching kan styres fra serveren. Hvis TS har lagt siden på f.eks et webhotell eller annen shared hosting kan de ha satt cachen til å vare lenge for å minimere serverlasten.

 

Du kan overstyre serverens cache-instillinger ved å f.eks legge dette mellom <head> og </head> tagene dine i dokumentet:

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />

Har nettsie via hostmonster.com (shared som du sier)

kan koden du viser meg ha noen negativ innvirkning på noen måte?

hostmonster kontoen min har ubegrenset trafikk og lagringsplass btw

Lenke til kommentar

Er det noe felles for de som opplever dette? Nettleser, operativsystem, går de inn via mobil...?

 

EDIT: Jeg vil også si det høres rart ut fra situasjonen du beskriver at brukere skal oppleve problemer med å få opp gamle versjoner av ting - når du besøker en side en måned etter sist gang, bør nye versjoner av filene lastes inn automatisk. Det skal ikke være nødvendig å refreshe slik du sier for å hente ned nye filer.

problemet er på både mac og pc vet ikke om mobil men går ut i fra at det er slik der også

Lenke til kommentar

Har nettsie via hostmonster.com (shared som du sier)

kan koden du viser meg ha noen negativ innvirkning på noen måte?

hostmonster kontoen min har ubegrenset trafikk og lagringsplass btw

 

Du kan sette f.eks.

<meta http-equiv="cache-control" content="max-age=43200" />

Jeg har ingen ekspertise på dette, men såvidt meg bekjent vil denne sette at cachen skal bygges på nytt, 12 timer fra siden sist ble besøkt.

 

Eventuelt kan du gjøre det via php:

<img src="image.jpg?<?php echo time(); ?>" />

output (eks)

<img src"image.jpg?1381957168" />

Det vil tvinge nettleseren til å hente inn bildene på nytt hver gang.

 

Jeg har skrudd av all caching i min nettleser av utviklingshensyn så hos meg laseter siden din inn ca. 3 MB med data. Du kan med fordel kjøre en mye hissigere jpg komprimering på bildene, eller eventuelt lagre de som gif. F.eks 01.jpg fikk jeg redusert til en tredjedel av størrelsen ved å lagre som gif i photoshop uten at det forringet kvaliteten nevneverdig. Mener selvsagt thumbnailene dine, ikke fullversjonene.

 

Siden du allerede bruker jquery kan du også se på en plugin kalt lazyload slik at brukeren slipper å laste inn alle bildene før han evt. scroller ned til de. Bruker den pluginen på så å si alle sider med mye bilder og det fungerer strålende i forhold til å redusere den initielle tiden det tar å laste inn en side som inneholder mange bilder.

Endret av Feh
  • Liker 2
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...