Gå til innhold

Oppdatering av CSS, når skjer det på klient?


Anbefalte innlegg

Hei!

 

Jeg har en side som jeg bruker til å lære meg (x)html, CSS, PHP og MySql. Denne siden er aktiv hele tiden og forandringer skjer hele tiden. Når det gjelder innhold så oppdaterer siden seg fint og flott. Når det gjelder CSS og stil på siden så må jeg ty til F5.

 

Med andre ord er det noen annen måte å få en automatisk oppdatering av CSS på en side? Mer kommersielle sider så får jeg jo automatisk oppdatering. Hvordan løser de dette? Eks. Google.

 

Kim

Lenke til kommentar
Videoannonse
Annonse
<?php

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

?>

 

feks

8926077[/snapback]

 

Dette hjalp heller ikke. Er det slik at det ikke er mulig?

 

Kim

Lenke til kommentar

Litt vanskelig å skjønne hva du mener her, det er vel klart du må oppdatere siden for at endringer i stilsett skal ta sted.

Ville du at det skulle skje automatisk eller at siden f.eks laster seg inn på nytt en gang i minuttet eller noe slikt?

 

Litt utdyping hadde gjort seg.

Lenke til kommentar

Jeg vil at stilsettet skal oppdateres automatisk hvergang siden lastes. Noe enklere enn det kan jeg vel ikke forklare det. Men jeg har forsøkt med noen phpsnutter og meta tagger. Men stilsettet oppdateres ikke før jeg trykker F5. Jeg vil gjerne unngå dette siden jeg gjør små forandringer kontant på siden min. Hvis dere vil se kildekoden så ligger siden min i signaturen min. :)

 

Jeg vil ikke ha en funskjon som refresher siden hver 5 minutt eller lignende.

 

Kim

Lenke til kommentar
Gjest Slettet+142

Det skal vel funke med AJAX og Javascript vil jeg tro ;)

 

 

 

Mulig at dette virker?

function callAjax(){
var ajaxRequest; //AJAX handler variabelen

try{
 // Opera 8.0+, Firefox, Safari
 ajaxRequest = new XMLHttpRequest();
} catch (e){
 // Internet Explorer
 try{
 	ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
 	try{
   ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
 	} catch (e){
   
   return false;
 	}
 }
}
return ajaxRequest; 
}

function checkForNew(){
 ajax = callAjax();
 
 ajax.onreadystatechange = function (){
   if(ajax.readyState==4){
     if(ajax.responseText==originalstylesheet){
       window.location.reload();
     }
     setTimeout('checkForNew()', 5*6*1000);
   }
 }
 
 ajax.open("GET", stilark, true);
 ajax.send(null);
}

function getOrig(){
 ajax = callAjax();
 
 ajax.onreadystatechange = function (){
   if(ajax.readyState==4){
     return ajax.responseText;
   }
 }
 
 ajax.open("GET", stilark, true);
 ajax.send(null);
}

var stilark = "stilark.css";
var originalstylesheet = getOrig();
setTimeout('checkForNew()', 5*60*1000);

 

Endret av Slettet+142
Lenke til kommentar

hvis du kun driver å koder til eget bruk, ser jeg ikke problemet med å trykke F5. Selv har jeg iallefall alltid trykt F5 for å se hvordan endringene ble.

 

så automatisk oppdatering med en gang noe har skjedd på serveren er vanskelig. Oppdatering av stilsett (ikke bruk av cache) burde derimot ikke være så vanskelig. Vha. php-kodene som er listet opp (sett de inn helt øverst i php-fila) vil/bør endringer tas med når du trykker på en link på siden. (f.eks. hjem-lenken)

 

om du er irritert over å måtte laste opp ting på en webserver for å se resultat av din koding, vil jeg anbefale en lokal webserver. F.eks. AppServ fungerer greit til testing av php-script m.m. (Men dette visste du sikkert fra før)

Lenke til kommentar

Ja jeg har en lokal webserver hvor jeg tester siden min under utviklingen. Men av og til er jeg ikke fornøyd med f.eks fargen på teksten eller dvs jeg finner ut at jeg vil forandre litt på line-height osv på den siden som er aktiv på nettet og der får jeg det ikke til å fungere uten å måtte trykke F5.

 

Jeg har CSS filene i PHP filer men på hvilken måte tenkte du på at jeg skulle gjøre det? :hmm:

 

Kim

Lenke til kommentar

For å uttrykke meg klarere. Jeg har kun PHP filer. Ingen HTML filer. Jeg har forsøkt å hente inn CSS med hjelp av PHP men det hjalp ikke noe. Det eneste jeg ikke har forsøkt er å bruke PHP til å faktisk generere CSS. Vet ikke helt hvordan jeg skal eventuelt gjøre det heller. Kan kanskje gjøre det med inline style men det er uønsket.

 

Kim

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...