25. marts 2006 - 18:22Der er
23 kommentarer og 2 løsninger
Check sidste opdatering af fil
Er det muligt at lave et loopet(hvert sek.) javascript som checker hvornår en txt-fil på en server sidst er blevet redigeret. Og hvis filen er redigeret senere end sidst scriptet testede, hente et dokument?
-Jeg vil ik bruge en masse tid på at forsøge hvis det slet ik kan lade sig gøre. Derfor dette ja/nej spørgsmål :]
hvis du har php eller asp kan du have et script der når man laver en js forespørgsel på at hente filen der ligger på stien: ww w.ditdomænde.dk/checklastedit/minfil.html
hvor der via htaccess rewrites over til checkfile.php der kigger hvornår filen sidst er opdateret, sender besked (sender 1 fil kun med et ime stempel) retur til dit js script js scriptet henter så filen ww w.ditdomænde.dk/getfile/minfil.html hvis timestemplet er nyere end det tidligere... det burde være muligt :P så et lille ja
Hvis du har php eller asp kan du have et script der laver en js forespørgsel (henter en fil fra): ww w.ditdomænde.dk/checkfile.php?file=minfil.html&lastfile=tidligere_timestamp_på_nuværende_fil
checkfile.php tjekker hvornår filen sidst er opdateret, og hvis den er nyere end den timestamp js scriptet, leverede sender den den nye fil ... ellers sender den en fil med indholdet newcontent=no;newtimestamp=bla.bla
Js filen tjekker om filen indeholder newcontent=no; og hvis den gør tager den - den nye timestamp hvis den ikke indeholder newcontent=no; erstatter den - den tidl. fil med den nye da indholdet er ændret...
- det er nok lidt indviklet ved nærmere eftertanke :P
hvis den ikke er opdateret siden sidst: newcontent=no;newtimestamp=0;
- ved no henter js ikke den nye fil
hvis den f.eks. skal opdateres: newcontent=yes;newtimestamp=12131456447897;
- ved yes udskifter js sin timestamp og henter den nye fil
... ovenstående procedure gentages herefter efter x antal sekunder
- uanset om du laver en forespørgsel på den ene måde eller skal der køre data frem og tilbage på nettet... normalt vil du få header dataer tilsendt sammen med dine forespørgsler - men, da javascript ikke kan forespørge via. headers og php/asp kan læse en vilkårlig fils sidste opdaterings tidpunkt på serveren kan den sende en minifil afsted med oplysning om hvorvidt der er en ny fil til browseren ... vi snakker om et overhead på ca. 40 - 50 byte (tror jeg nok - d.v.s. det den ekstra fil fylder) :P
newcontent kan selvfølgelig også fjernes og så nøjes man med newtimestamp=0; (ny fil hentes ikke) newtimestamp=12131456447897; (ny fil hentes) - det halverer selvfølgelig næsten filen der hentes...
- hvis du tænker på noget chat-update via. js refresh så kan den nye fil jo bare bestå af f.eks.: <div class="container"> <div class="leftavatar"><img src="myavatarclemens.jpg"></div> <div class="message">Hej J.</div> </div> <div class="container"> <div class="leftavatar"><img src="myavataranonymousj.jpg"></div> <div class="message">Hej Clemens, skal vi chatte</div> </div>
og herefter erstatte indholdet i en div på siden (bør nok gøres med jsdom metode, dog er innerHTML måske nemmest) :P
ja det er netop det jeg tænker på :) Har set det blive brugt på google, og der kørte det helt flydende.
Vil det evt. være helt tåbeligt at lave en frame med et php script i som checker for opdatering og '<meta http-equiv="refresh" content="1" Url="x.php">'(51 bytes) som det eneste browseren skal hente hvis der ik er ændret noget? Jeg håbede jeg kunne undgå refresh ved at bruge js, da grafikken på siden blinker hvar gang. men hvis man ik kan komme uden om det, kan jeg ligeså godt undgå js som jeg ikke er så stiv i...
Har set det blive brugt på google, og der kørte det helt flydende.> ja, ajax (forkortelse for javascript og et eller andet :P)
Vil det evt. være helt tåbeligt at lave en frame med et php script i som checker for opdatering og '<meta http-equiv="refresh" content="1" Url="x.php">> ... nej det kan man selfølgelig gøre :P
- kan dog også måske ændre et src på et js script på siden og på den måde undgå frames (har ikke så meget tid idag så hæng mig ikke op på noget :P )
dang, det er indviklet lige at lave sin egen chat... det var test designet - så mangler jeg bare den der henter dataer frem og tilbage fra en db evt. :P (hvis jeg kan hitte ud af det ... )
heh ja lidt. Jeg ville bare lave en lille simpel chat... den er nu blevet til nogle hundrede liniers php og mange timers html og javascript. Men det er lærrigt :) Jeg går sq efter en ekstra frame... chatten er i forvejen lavet i frames, så det kan jeg vel ligeså godt.
her er lidt, skal arbejde videre på den senere :P (kun js'en) ... glemte at tjekke css design i FF'eren så det er ikke alt for kønt p.t. ... dog burde den give indtryk af at det kan gøres - skal lige finde ud af hvorfor ff'eren går i baglås med scriptet ... prøv at downloade den her for ide om det: ww w. d kif.co m/tmps/chat.zip <- ryk mellemrun sammen ingen direkte link da det er en tmp fil ...
... m.h.t. scriptet skal jeg lige lære js, det er vist ikke helt ok bare at skifte scriptet på en side... m.h.t. til design - ja det laver du vel selv alligevel :P
jeg fandt lige det her... Ja man bliver vist nød til at kikke på ajax en dag :]> - Ja, den kan jo bruges... vælger dog at sætte mig ind i ajax samt dom append og remove - det tager bare noget tid (har ikke noget at bruge en chat til, men ajax det ville være sejt) :P
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.