|
| Automatisk opdatering Fra : Steen Hansen |
Dato : 04-11-09 16:47 |
|
Hvordan opdateres en hjemmeside automatisk på et bestemt klokkeslet to
gange i døgnet.
Tidspunktet angives ud fra serverprogrammering lige så de ændringer
der er og det er ikke det der er problemet, men ved brug af meta og
refresh står siden og blinker ved hver opdatering. og dette vil jer
gerne undgå.
Så hvordan undgås dette regelmæssige opdaterings blinkeri ?
Siden skal kun vises i firefox.
| |
Stig Johansen (04-11-2009)
| Kommentar Fra : Stig Johansen |
Dato : 04-11-09 17:14 |
|
Steen Hansen wrote:
> Hvordan opdateres en hjemmeside automatisk på et bestemt klokkeslet to
> gange i døgnet.
>
> Tidspunktet angives ud fra serverprogrammering lige så de ændringer
> der er og det er ikke det der er problemet, men ved brug af meta og
> refresh står siden og blinker ved hver opdatering. og dette vil jer
> gerne undgå.
>
> Så hvordan undgås dette regelmæssige opdaterings blinkeri ?
Ajax ?
Det lyder som om du står og poller, men kun viser ændringerne når de er der,
er det korrekt?
> Siden skal kun vises i firefox.
Det kan sagtens laves til alle browsere, men ud fra dine oplysninger er det
ikke nemt at komme med forslag.
--
Med venlig hilsen
Stig Johansen
| |
Steen Hansen (04-11-2009)
| Kommentar Fra : Steen Hansen |
Dato : 04-11-09 17:34 |
|
On Wed, 04 Nov 2009 17:13:38 +0100, Stig Johansen <wopr.dk@gmaill.com>
wrote:
>Steen Hansen wrote:
>
>> Hvordan opdateres en hjemmeside automatisk på et bestemt klokkeslet to
>> gange i døgnet.
>>
>> Tidspunktet angives ud fra serverprogrammering lige så de ændringer
>> der er og det er ikke det der er problemet, men ved brug af meta og
>> refresh står siden og blinker ved hver opdatering. og dette vil jer
>> gerne undgå.
>>
>> Så hvordan undgås dette regelmæssige opdaterings blinkeri ?
>
>Ajax ?
>
>Det lyder som om du står og poller, men kun viser ændringerne når de er der,
>er det korrekt?
>
Ja det er rigtigt, ønsker kun opdatering på bestemte tidspunkter.
eller genindlæsning af siden på et bestemt tidspunkt.
Siden vises konstant, men ændre udseende på et bestemt tidspunkt.
| |
Stig Johansen (04-11-2009)
| Kommentar Fra : Stig Johansen |
Dato : 04-11-09 19:50 |
|
Steen Hansen wrote:
> On Wed, 04 Nov 2009 17:13:38 +0100, Stig Johansen <wopr.dk@gmaill.com>
> wrote:
>>
>>Det lyder som om du står og poller, men kun viser ændringerne når de er
>>der, er det korrekt?
>>
>
> Ja det er rigtigt, ønsker kun opdatering på bestemte tidspunkter.
> eller genindlæsning af siden på et bestemt tidspunkt.
>
> Siden vises konstant, men ændre udseende på et bestemt tidspunkt.
Du er ikke nem at få noget ud af, så du kan ikke få noget konkret.
Jeg har et eksempel på en charbox kørende her:
< http://w-o-p-r.dk/shoutbox/Gonzales/shoutbox.asp>
Den er lavet, så den poller på nye messages (eller ændringer) for hver 5.
sekund, altså ikke 'timer styret', men styret af ændringer fra serveren.
Hvis du vil lave bestemte tidspunkter, så skal du bare lave en anden timer i
javascript.
Det burde fremgå af javascripts hvordan skidtet virker.
--
Med venlig hilsen
Stig Johansen
| |
Steen Hansen (05-11-2009)
| Kommentar Fra : Steen Hansen |
Dato : 05-11-09 00:12 |
|
On Wed, 04 Nov 2009 19:49:40 +0100, Stig Johansen <wopr.dk@gmaill.com>
wrote:
>Steen Hansen wrote:
>
>> On Wed, 04 Nov 2009 17:13:38 +0100, Stig Johansen <wopr.dk@gmaill.com>
>> wrote:
>>>
>>>Det lyder som om du står og poller, men kun viser ændringerne når de er
>>>der, er det korrekt?
>>>
>>
>> Ja det er rigtigt, ønsker kun opdatering på bestemte tidspunkter.
>> eller genindlæsning af siden på et bestemt tidspunkt.
>>
>> Siden vises konstant, men ændre udseende på et bestemt tidspunkt.
>
>Du er ikke nem at få noget ud af, så du kan ikke få noget konkret.
>
>Jeg har et eksempel på en charbox kørende her:
>< http://w-o-p-r.dk/shoutbox/Gonzales/shoutbox.asp>
>Den er lavet, så den poller på nye messages (eller ændringer) for hver 5.
>sekund, altså ikke 'timer styret', men styret af ændringer fra serveren.
>
>Hvis du vil lave bestemte tidspunkter, så skal du bare lave en anden timer i
>javascript.
>
>Det burde fremgå af javascripts hvordan skidtet virker.
Jeg prøver ellers så godt at forklare mig som jeg kan
Når jeg bruger meta refresh med et tidsinterval på f.eks 30 sekunder,
bliver siden genindlæst, dette virker som om siden står og blinker med
et interval på 30 sek.
En php eller asp script lignende server ændre så udseendet på et
bestemt klokkeslet, og refreshen vil så sikre at siden skifter
udseende. - den nye side vises.
Jeg vil så gerne undgå blinkeriet.
Kan denne tidsbestemte opdatering enten laves uden refresh, det være
sig enten ved at undertrykke opdateringen hver 30 sek, eller på anden
vis undgå at det virker som om siden står og blinker.
Steen
| |
Philip Nunnegaard (05-11-2009)
| Kommentar Fra : Philip Nunnegaard |
Dato : 05-11-09 00:36 |
|
Steen Hansen skrev:
> Jeg prøver ellers så godt at forklare mig som jeg kan
Det der forvirrede /mig/ var at jeg ikke kunne finde ud af om det var
serveren eller klienten der skulle opdateres via et script, men nu tror
jeg at jeg er med.
> Når jeg bruger meta refresh med et tidsinterval på f.eks 30 sekunder,
> bliver siden genindlæst, dette virker som om siden står og blinker med
> et interval på 30 sek.
>
> En php eller asp script lignende server ændre så udseendet på et
> bestemt klokkeslet, og refreshen vil så sikre at siden skifter
> udseende. - den nye side vises.
Så er vi ovre i noget AJAX.
Computeren som er inde på siden, ved ikke hvornår præcist siden bliver
opdateret. De kan godt være at manden der sidder ved computeren ved det,
men altså...
Ergo: Vi skal have brugerens browser til at tjekke om der er sket noget
nyt på siden siden sidst den refreshede.
_Hvis_ der så /er/ sket noget nyt, skal den genindlæse siden. Ellers ikke.
Og så vidt muligt skal den kun genindlæse den del af siden som er ændret.
Som jeg ser det, er det noget der skal laves i flere trin:
1) Et javascript der gentager sig selv med et vist interval. Dette
script sender en forespørgsel til serveren for at finde ud af om der er
sket noget nyt på siden siden sidst.
Søg evt. efter javascript-funktionen setTimeout() på Google.
2) Er der ikke sket noget nyt siden sidst, skal scriptet ikke foretage
sig yderligere.
Er der sket noget nyt siden sidst, skal den hente ændringerne og vise dem.
Umiddelbart ser jeg for mig at der også skal smides en session-variabel
hos brugeren som angiver tidspunktet for hvornår han er kommet ind på siden.
Dette tidspunkt ændres til aktuel tid, hvis der /er/ sket noget nyt på
siden.
Javascripthajerne herinde kan måske hjælpe dig videre, hvis du går i stå.
--
Philip - http://www.chartbase.dk | http://www.hitsurf.dk
| |
Stig Johansen (05-11-2009)
| Kommentar Fra : Stig Johansen |
Dato : 05-11-09 04:53 |
|
Philip Nunnegaard wrote:
> Som jeg ser det, er det noget der skal laves i flere trin:
>
> 1) Et javascript der gentager sig selv med et vist interval. Dette
> script sender en forespørgsel til serveren for at finde ud af om der er
> sket noget nyt på siden siden sidst.
Det er det jeg gør i mit eksempel.
> Søg evt. efter javascript-funktionen setTimeout() på Google.
Jeg har tilbudt ham, at han blot kan kigge i mit javascript.
> 2) Er der ikke sket noget nyt siden sidst, skal scriptet ikke foretage
> sig yderligere.
> Er der sket noget nyt siden sidst, skal den hente ændringerne og vise dem.
Det er det jeg gør i mit eksempel.
> Javascripthajerne herinde kan måske hjælpe dig videre, hvis du går i stå.
Jeg vil ikke kalde mig javascripthaj, men med de sparsomme oplysninger vi
får, kan(vil) jeg ikke gøre andet end at henvise til mit eksempel.
Når han skriver 'blinker', lyder det som om han har noget (hemmeligt)
kørende, men jeg gider ikke bruge tid på 'gætterier'.
--
Med venlig hilsen
Stig Johansen
| |
Steen Hansen (05-11-2009)
| Kommentar Fra : Steen Hansen |
Dato : 05-11-09 07:33 |
|
On Thu, 05 Nov 2009 00:35:55 +0100, Philip Nunnegaard
<nunnenospam@hitsurf.dk> wrote:
>Steen Hansen skrev:
>
>> Jeg prøver ellers så godt at forklare mig som jeg kan
>
>Det der forvirrede /mig/ var at jeg ikke kunne finde ud af om det var
>serveren eller klienten der skulle opdateres via et script, men nu tror
>jeg at jeg er med.
>
>> Når jeg bruger meta refresh med et tidsinterval på f.eks 30 sekunder,
>> bliver siden genindlæst, dette virker som om siden står og blinker med
>> et interval på 30 sek.
>>
>> En php eller asp script lignende server ændre så udseendet på et
>> bestemt klokkeslet, og refreshen vil så sikre at siden skifter
>> udseende. - den nye side vises.
>
>Så er vi ovre i noget AJAX.
>Computeren som er inde på siden, ved ikke hvornår præcist siden bliver
>opdateret. De kan godt være at manden der sidder ved computeren ved det,
>men altså...
>
>Ergo: Vi skal have brugerens browser til at tjekke om der er sket noget
>nyt på siden siden sidst den refreshede.
>
>_Hvis_ der så /er/ sket noget nyt, skal den genindlæse siden. Ellers ikke.
>Og så vidt muligt skal den kun genindlæse den del af siden som er ændret.
>
>Som jeg ser det, er det noget der skal laves i flere trin:
>
>1) Et javascript der gentager sig selv med et vist interval. Dette
>script sender en forespørgsel til serveren for at finde ud af om der er
>sket noget nyt på siden siden sidst.
>
>Søg evt. efter javascript-funktionen setTimeout() på Google.
>
>2) Er der ikke sket noget nyt siden sidst, skal scriptet ikke foretage
>sig yderligere.
>Er der sket noget nyt siden sidst, skal den hente ændringerne og vise dem.
>
>Umiddelbart ser jeg for mig at der også skal smides en session-variabel
>hos brugeren som angiver tidspunktet for hvornår han er kommet ind på siden.
>Dette tidspunkt ændres til aktuel tid, hvis der /er/ sket noget nyt på
>siden.
>
>Javascripthajerne herinde kan måske hjælpe dig videre, hvis du går i stå.
Siden er en informations side, som vises ud mod et stort publikum hele
dagen, om aften på et bestemt tidspunkt skal informationerne ændres.
Om morgen ændres de så tilbage.
Serversiden er et specielt sprog aller php/asp dog ikke særligt
avanceret.
Igen undskyld at jeg ikke er specielt god til at forklare mig.
Jeg vil prøve med javascriptet.
Steen
| |
Erik Ginnerskov (05-11-2009)
| Kommentar Fra : Erik Ginnerskov |
Dato : 05-11-09 15:21 |
|
Steen Hansen wrote:
>>> Når jeg bruger meta refresh med et tidsinterval på f.eks 30
>>> sekunder, bliver siden genindlæst, dette virker som om siden står
>>> og blinker med et interval på 30 sek.
> Siden er en informations side, som vises ud mod et stort publikum hele
> dagen, om aften på et bestemt tidspunkt skal informationerne ændres.
>
> Om morgen ændres de så tilbage.
Det lyder som noget serverbestemt. I så fald kan meta refresh slet ikke
bruges.
På serveren skal et tidstjek afgøre hvilken version der skal sendes ved
første request. Men da serveren ikke på eget initiativ kan opdatere noget i
brugerens browser, skal der noget Ajax ind over til at requeste opdatering
på bestemte klokkeslet.
--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk
| |
Steen Hansen (05-11-2009)
| Kommentar Fra : Steen Hansen |
Dato : 05-11-09 16:25 |
|
On Thu, 5 Nov 2009 15:20:30 +0100, "Erik Ginnerskov"
<erik.ginnerskov@live.dk> wrote:
>Steen Hansen wrote:
>
>>>> Når jeg bruger meta refresh med et tidsinterval på f.eks 30
>>>> sekunder, bliver siden genindlæst, dette virker som om siden står
>>>> og blinker med et interval på 30 sek.
>
>> Siden er en informations side, som vises ud mod et stort publikum hele
>> dagen, om aften på et bestemt tidspunkt skal informationerne ændres.
>>
>> Om morgen ændres de så tilbage.
>
>Det lyder som noget serverbestemt. I så fald kan meta refresh slet ikke
>bruges.
>
>På serveren skal et tidstjek afgøre hvilken version der skal sendes ved
>første request. Men da serveren ikke på eget initiativ kan opdatere noget i
>brugerens browser, skal der noget Ajax ind over til at requeste opdatering
>på bestemte klokkeslet.
Men kræver ajax ikke en eller event så som tastetryk eller ligende,
dvs noget brugerinput for at udløse en event ?
Steen
| |
Stig Johansen (05-11-2009)
| Kommentar Fra : Stig Johansen |
Dato : 05-11-09 16:57 |
|
"Steen Hansen" <bruges_ikke@live.com> wrote in message
news:aar5f59stthq38trei8ctjid6vldmq3626@4ax.com...
>
> Men kræver ajax ikke en eller event så som tastetryk eller ligende,
> dvs noget brugerinput for at udløse en event ?
Nej, det klares med settimeout, kig efter:
messagetimer=setTimeout("dogetmessages()",upDRate);
i det eksempel jeg har linket til.
Grundstrukturen er, at man ved indlæsning af siden har en funktion, der
'ændrer indhold'.
Denne funktion kaldes så med givne intervaller, og afhængig af om der er
ændringer eller ej, 'opdateres' siden.
Med 'opdateres' mener jeg ikke genindlæsning, men opdatering af de givne
objekter i DOM træet.
--
Med venlig hilsen/Best regards
Stig Johansen
| |
Philip Nunnegaard (05-11-2009)
| Kommentar Fra : Philip Nunnegaard |
Dato : 05-11-09 17:19 |
|
Steen Hansen skrev:
> Men kræver ajax ikke en eller event så som tastetryk eller ligende,
> dvs noget brugerinput for at udløse en event ?
Det event kan jo være når siden <body> indlæses.
Resten går af sig selv, jævnfør Stigs svar.
--
Philip - http://www.chartbase.dk | http://www.hitsurf.dk
| |
Stig Johansen (06-11-2009)
| Kommentar Fra : Stig Johansen |
Dato : 06-11-09 21:20 |
|
Steen Hansen wrote:
> Siden er en informations side, som vises ud mod et stort publikum hele
> dagen, om aften på et bestemt tidspunkt skal informationerne ændres.
>
> Om morgen ændres de så tilbage.
Jeg kom til at tænke på en anden mulighed end ajax.
Hvis du har 2 forskellige url'er for hhv. dag og aften, eks.
http: //dinside/info?dag
http: //dinside/info?aften
Så kan du lave et meget simpelt javascript, der skifter frem og tilbage på
bestemte tidspunkter.
Lidt pseudokode:
if kl > skifttilaften or kl<skifttildag then
if location.href != urlaften location.href = urlaften
else
if location.href != urldag location.href = urldag
og så bare lave en settimeout på funktionen.
--
Med venlig hilsen
Stig Johansen
| |
Stig Johansen (05-11-2009)
| Kommentar Fra : Stig Johansen |
Dato : 05-11-09 04:49 |
|
Steen Hansen wrote:
> Jeg prøver ellers så godt at forklare mig som jeg kan
He - men som Philip skriver, så var det lidt uvist hvad der styrede hvad.
> Når jeg bruger meta refresh med et tidsinterval på f.eks 30 sekunder,
> bliver siden genindlæst, dette virker som om siden står og blinker med
> et interval på 30 sek.
Den er jeg godt med på, da du skrev 'blinkeri'.
> En php eller asp script lignende server ændre så udseendet på et
> bestemt klokkeslet, og refreshen vil så sikre at siden skifter
> udseende. - den nye side vises.
Her skal du nok have en eller anden information sendt med om siden er ændret
eller ej.
Hvis du kigger på det chat eksempel jeg sendte, så tjekkes der hvert 5.
sekund om der er kommet nye meddelser.
Dette gøres via Ajax, hvor jeg har en counter i javascript, der bliver sendt
til ASP scriptet.
Serverside tjekkes så med SELECT .... WHERE messageid > counter
Hvis der ikke er nogen nye, sendes counteren med tilbage (via en header),
ellers sendes counteren med tilhørende meddelser.
Det modsvarer så vidt jeg kan se dit ønske om 'ændre udseende'.
> Jeg vil så gerne undgå blinkeriet.
Mit eksempel blinker heller ikke, og intervallet kan bare sættes til 30 sek.
> Kan denne tidsbestemte opdatering enten laves uden refresh, det være
> sig enten ved at undertrykke opdateringen hver 30 sek, eller på anden
> vis undgå at det virker som om siden står og blinker.
Det er jo det jeg gør i mit eksempel.
Som nævnt kan du se javascriptet, og du må også gerne 'stjæle' det, da det
er noget jeg selv har udviklet, så du har min tilladelse.
Hvis du skal have noget mere konkret må du evt. lave et eksempel, med link,
på hvad du mener med 'ændre udseende', og også hvilke styringsparametre du
har på serveren, der indikerer ændring.
--
Med venlig hilsen
Stig Johansen
| |
Birger Sørensen (05-11-2009)
| Kommentar Fra : Birger Sørensen |
Dato : 05-11-09 08:42 |
|
Steen Hansen:
> On Wed, 04 Nov 2009 19:49:40 +0100, Stig Johansen <wopr.dk@gmaill.com>
> wrote:
>
>> Steen Hansen wrote:
>>
>>> On Wed, 04 Nov 2009 17:13:38 +0100, Stig Johansen <wopr.dk@gmaill.com>
>>> wrote:
>>>>
>>>> Det lyder som om du står og poller, men kun viser ændringerne når de er
>>>> der, er det korrekt?
>>>>
>>>
>>> Ja det er rigtigt, ønsker kun opdatering på bestemte tidspunkter.
>>> eller genindlæsning af siden på et bestemt tidspunkt.
>>>
>>> Siden vises konstant, men ændre udseende på et bestemt tidspunkt.
>>
>> Du er ikke nem at få noget ud af, så du kan ikke få noget konkret.
>>
>> Jeg har et eksempel på en charbox kørende her:
>> < http://w-o-p-r.dk/shoutbox/Gonzales/shoutbox.asp>
>> Den er lavet, så den poller på nye messages (eller ændringer) for hver 5.
>> sekund, altså ikke 'timer styret', men styret af ændringer fra serveren.
>>
>> Hvis du vil lave bestemte tidspunkter, så skal du bare lave en anden timer i
>> javascript.
>>
>> Det burde fremgå af javascripts hvordan skidtet virker.
>
> Jeg prøver ellers så godt at forklare mig som jeg kan
>
> Når jeg bruger meta refresh med et tidsinterval på f.eks 30 sekunder,
> bliver siden genindlæst, dette virker som om siden står og blinker med
> et interval på 30 sek.
>
> En php eller asp script lignende server ændre så udseendet på et
> bestemt klokkeslet, og refreshen vil så sikre at siden skifter
> udseende. - den nye side vises.
>
> Jeg vil så gerne undgå blinkeriet.
>
> Kan denne tidsbestemte opdatering enten laves uden refresh, det være
> sig enten ved at undertrykke opdateringen hver 30 sek, eller på anden
> vis undgå at det virker som om siden står og blinker.
>
> Steen
En request (AJAX), kunne også returnere hvor lang tid der er tilbage
før næste opdatering. Og svaret bruges til at styre timeren/hente ny
side.
Lyder som 2 versioner, der hver vises i 12 timer. Og temmelig meget
spild, hvis man skal polle hvert 5 sekund i 11 timer.
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk
| |
Erik Ginnerskov (05-11-2009)
| Kommentar Fra : Erik Ginnerskov |
Dato : 05-11-09 15:15 |
|
Steen Hansen wrote:
> Når jeg bruger meta refresh med et tidsinterval på f.eks 30 sekunder,
> bliver siden genindlæst, dette virker som om siden står og blinker med
> et interval på 30 sek.
Det kan godt være, at jeg er sær. Men at der kommer et enkelt kortvarigt
blink hver 12. time kan jeg ikke få øje på noget problem i.
--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk
| |
Philip Nunnegaard (05-11-2009)
| Kommentar Fra : Philip Nunnegaard |
Dato : 05-11-09 16:05 |
|
Erik Ginnerskov skrev:
>> Når jeg bruger meta refresh med et tidsinterval på f.eks 30 sekunder,
>> bliver siden genindlæst, dette virker som om siden står og blinker med
>> et interval på 30 sek.
>
> Det kan godt være, at jeg er sær. Men at der kommer et enkelt kortvarigt
> blink hver 12. time kan jeg ikke få øje på noget problem i.
Det var vist hvert 30. sekund eller sådan noget han ville have browseren
til at genindlæse.
Nå, men dit svar førte mig over på en anden tankegang uden AJAX, men
lidt mere gammeldags.
Serverside undersøges det hvor lang tid der er til det klokkeslet hvor
næste opdatering sker.
Denne tid målt i sekunder smides så ind i meta-refreshen.
Men det forudsætter selvfølgelig at opdateringerne sker på præcis samme
klokkeslet hver dag. F.eks. Kl. 18:00:00. Ikke kl. 18:00:17.
Og det forudsætter at man godt kan leve med det blink 2 gange om dagen.
--
Philip - http://www.chartbase.dk | http://www.hitsurf.dk
| |
Steen Hansen (05-11-2009)
| Kommentar Fra : Steen Hansen |
Dato : 05-11-09 16:30 |
|
On Thu, 5 Nov 2009 15:15:15 +0100, "Erik Ginnerskov"
<erik.ginnerskov@live.dk> wrote:
>Steen Hansen wrote:
>
>
>> Når jeg bruger meta refresh med et tidsinterval på f.eks 30 sekunder,
>> bliver siden genindlæst, dette virker som om siden står og blinker med
>> et interval på 30 sek.
>
>Det kan godt være, at jeg er sær. Men at der kommer et enkelt kortvarigt
>blink hver 12. time kan jeg ikke få øje på noget problem i.
Det er ikke noget problem med et blink hver 12 time, men hvert 30 sek
eller minut virker irreterende. Bruger jeg f.eks. 10 min vil jeg få
ballade for at siden skifter for sent.
Men jeg tror at jeg har fundet et javascript som tilsyneladende kan
løse problemet.
Steen
| |
|
|