22. marts 2004 - 16:45Der er
37 kommentarer og 2 løsninger
refresh page efter uret på computeren
Hej dygtige folk,
Jeg har søgt i flere timer efter et head script, som refresher en html-side efter computerens ur. Dvs. refresher på et bestemt antal tidspunkter. Jeg har nemlig brug for, at flere html sider opdateres samtidig og så går det ikke med den simple <meta http-equiv="refresh" content="10"> fordi siderne så går ud af synkronisering. Scriptet skal altså "gå ned" og læse computerens ur og opdatere html-siderne herefter.
<script type="text/javascript"> function refreshWindow(){ //refresher vinduet, hvis kaldet kommer indenfor det 1/10 sekund af et minut !-) var nu = new Date(); if(nu.getTime()%60000<100)location.reload(true); } </script>
Svar til thesurfer - så kan tidspunktet fx være kl 12 og så igen kl 12.10 etc. Altså helt konkret har jeg 4 html-sider åbne og de skal synkroniseres samtidig. Og såvidt jeg kan se, kan det kun lade sig gøre ved, at de henten tiden på computeren, fordi der er en tidsforskydning i åbning af siderne og derfor går en refresh på fx 10 sek. ikke.
For at sikre, at den kun kommer een gang pr. interval er man nødt til at sikre sig, at det kun sker indenfor en periode, som kun kan forekomme een gang ...
-- og min skal have et nul mere, hvis den skal reloade kl. 12.00, 12.10 osv.
<script type="text/javascript"> function refreshWindow(){ //refresher vinduet, hvis kaldet kommer indenfor det første 1/10 sekund af hvert 10. minut !-) var nu = new Date(); if(nu.getTime()%600000<100)location.reload(true); } </script>
Du kan ikke opdatere siderne på samme tidspunkt. Der er forskel - som sagtens kan være flere sekunder - på hvorlang tid, det tager browseren at hente siderne på serveren.
Hvorfor skal de opdateres samtidigt? Måske, vi kan finde en god måde at opdatere på, hvis vi kender årsagen - for det, du har gang i, virker ikke synderlig gennemtænkt :)
Jeg vil prøve jeres forslag - hvordan giver man så point?
Til Ole, så skal siderne opdateres samtidigt, fordi der er tale om 4 html-sider, som vises på hver deres skærm, men kører på en og samme computer. (Der er indsat et Matrox grafikkort med fire skærmudgange).
Ja, men det betyder ikke, at serveren (og slet ikke siderne) bliver opdateret på samme tid. Der kan være mange sekunder imellem - p.gr.a. 'trafik-propper' på nettet ;o)
Næh, men det betyder at der ikke ophobes unøjagtigheder !-)
-- det ville netop meta refresh og en simpel setTimeout gøre !-)
-- og lur mig, om ikke det jmdahl er igang med er en præsentation, hvor han i forvejen henter det fra en internt netværk eller måske ovenikøbet fra en server på samme computer !o]
Næh, vi må jo nøjes med at give ham det, han efterspørger, og da det er client-side, og alle hjemmesider kører med den samme computers ur, kan vi jo ikke komme nærmere !-)
Jooohhh .... man kunne da sende et time-stamp med fra serveren og arbejde videre på det (med JS). Så er alle brugere i samme sync - men det er jo ikke til at vide, om det er det ønskelige :)
At man ikke kan slippe udenom delays p.gr.a. trafik på nettet, går jeg udfra, vi allerede er enige om - men derfor kan man jo godt minimere fejlene ;o)
Brugeres ure kan vise alle mulige tidspunkter, når klokken er 12:00 - det ved kun den enkelte bruger. Skal opdateringen foregå på bestemte tidspunkter, er det vel bedst at lade ét ur bestemme ... og det på serveren har man jo (måske) selv styr på :) /mvh
Øeh, så har du måske overset, at det jmdahl er igang med, er at vise 4 forskellige hjemmesider på den samme computer, med et skærmkort som muliggør dette !-)
Jamen, hvis der skal opdateres data på serveren på bestemte tidspunkter, hjælper det jo ikke meget. Jeg tror, vi må have noget kvalificeret input fra spørgeren, før vi kan fastslå, hvad der egentlig skal ske - og hvorfor :)
Det, jeg mente var: Det kan godt være, du sidder med fire sider i din browser .... men det gør jeg måske også. Hvis serverens ur bestemmer, opdaterer vores maskiner rimelig samtidigt ;o)
Ja, men det er jo stort set ligegyldigt, for ifølge jmdahl@23/03-2004 09:07:27 snakker vi om en bestemt computer, som er udstyret med et ret specielt skærmkort, det kan jeg kun fortolke, som at det ikke er noget, som publiceres på internettet på anden måde end til de specielle sites, hvor han/hans firma har opstillet denne konfiguration ...
-- præcis derfor kom jeg til at tænke på det med præsentationen, for det jeg ville finde på at lave var f.eks. et fler-dimensionalt live webcam eller den samme datamængde præsenteret på forskellige måder, men synkront !-)
Så er jeg tilbage, efter at have været begravet af andre ting. Jeg har implementeret kommentaren fra thesurfer og det ser ud til at virke fint. Vil dog gerne give både thesurfer og roenving point efter 60/40, da begge aktivt har scriptet. Sender I et svar, så Point kan gives?
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.