/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Intelligent refresh af en HTML-side
Fra : Allan Unnerup


Dato : 08-09-05 17:44

Man refresher ofte en side på følgende måde:

<META HTTP-EQUIV="refresh" CONTENT=300; url="monitor.jsp">

Problemet er, at hvis fx serveren går ned, får man en fejl 500. Og når
serveren så kommer op igen, så skal man starte siden manuelt igen.

Er det muligt (hvordan?) at lave et JavaScript, der kun refresh'er siden,
såfremt der ikke er fejl på siden?

Med venlig hilsen
Allan



 
 
Erik Ginnerskov (08-09-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 08-09-05 20:57

Allan Unnerup wrote:
> Man refresher ofte en side på følgende måde:
>
> <META HTTP-EQUIV="refresh" CONTENT=300; url="monitor.jsp">
>
> Problemet er, at hvis fx serveren går ned, får man en fejl 500. Og når
> serveren så kommer op igen, så skal man starte siden manuelt igen.

Ja, det er klart. Den side med det automatiske refresh er ikke længere
indlæst i browseren.

> Er det muligt (hvordan?) at lave et JavaScript, der kun refresh'er
> siden, såfremt der ikke er fejl på siden?

Javascript er noget der foregår i browseren - i forbindelse med en given
side. Scriptet er ikke i stand til at se, hvad der foregår på serveren - og
slet ikke når pågældende side ikke længere er indlæst i browseren (udskiftet
med en fejlside).

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Allan Unnerup (08-09-2005)
Kommentar
Fra : Allan Unnerup


Dato : 08-09-05 22:02


"Erik Ginnerskov" <erik@donotspammmeplease.invalid> skrev i en meddelelse
news:43209783$0$18642$14726298@news.sunsite.dk...
> Allan Unnerup wrote:
> > Man refresher ofte en side på følgende måde:
> >
> > <META HTTP-EQUIV="refresh" CONTENT=300; url="monitor.jsp">
> >
> > Er det muligt (hvordan?) at lave et JavaScript, der kun refresh'er
> > siden, såfremt der ikke er fejl på siden?
>
> Javascript er noget der foregår i browseren - i forbindelse med en given
> side. Scriptet er ikke i stand til at se, hvad der foregår på serveren -
og
> slet ikke når pågældende side ikke længere er indlæst i browseren
(udskiftet
> med en fejlside).

Ja, JavaScript foregår i browseren. Det er netop det, der var min pointe.
Den er jo ikke affected af at serveren går ned.

Jeg forestiller mig noget i retning af:

while (true) begin
if (test om serveren kan svare fornuftigt) then
hent html-side;
sleep(5 minutter);
else
sleep(5 minutter);
endif
end while

"test om serveren kan svare fornuftigt" kunne være noget i stil med at teste
på en returkode (fx fejl 500), hvis det er muligt.

Med venlig hilsen
Allan



Jens Gyldenkærne Cla~ (08-09-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 08-09-05 21:35

Allan Unnerup skrev:

> Er det muligt (hvordan?) at lave et JavaScript, der kun
> refresh'er siden, såfremt der ikke er fejl på siden?

Som Erik er inde på kan et javascript ikke i sig selv vide noget om
hvad der foregår på serveren. Men jeg tror alligevel at man kan
lave noget a la det du er ude efter.

Ideen er som følger:

Dit hoveddokument indeholder en lille iframe med et andet dokument
på samme server. Iframen er skjult (den kan fx have en størrelse på
1x1px), så brugeren ser kun selve hovedsiden.

Nu lader man så hovedsiden kalde en speciel side frem i iframen med
et bestemt interval. Den side der kaldes, har én funktion - at
genloade hoveddokumentet (det kan fx gøres med en funktion placeret
i onload-parameteren til body). Når hoveddokumentet genloades, er
det igen den passive fil der hentes til iframen - så der ikke
genloades i en uendelighed.

Hvis serveren nu er nede når siden skal reloades, er det kun den
skjulte iframe der får en fejl 500 - og da hovedsiden er sat til at
kalde iframesiden med et bestemt interval, vil den af sig selv
forsøge igen når det næste interval er gået. Man kan selvfølgelig
ikke gardere sig mod at serveren går ned i det tidsrum der går fra
den iframesiden er hentet til hovedsiden er (gen)hentet - men
sandsynligheden vil være begrænset, hvis loadtiderne er forholdsvis
små.

Ovenstående er som anført kun en ide - den er ikke afprøvet i
praksis. Hvis du eller andre får den til at virke, vil jeg gerne se
den færdige kode.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Ryan Kristensen (08-09-2005)
Kommentar
Fra : Ryan Kristensen


Dato : 08-09-05 21:56

On Thu, 08 Sep 2005 18:43:57 +0200, Allan Unnerup <alu@udkik.dk> wrote:

> Problemet er, at hvis fx serveren går ned, får man en fejl 500. Og når
> serveren så kommer op igen, så skal man starte siden manuelt igen.

Jeg er ikke helt sikker på hvad du mener. Hvis man får en fejl 500,
betyder det, at der er fejl i serversidescriptet og dermed kan serveren
ikke være nede.
Man kan godt forsøge at tjekke om man får en fejl 500 vha. javascript, men
det er langt lettere at lave serversidescriptet, så det tager forbehold
for eventuelle fejl.

Hvis problemet er at serveren går ned, er det væsentligt lettere at teste,
da man kan uploade et billede, og vha. javascript teste om billedet kan
hentes.

--
Ryan Kristensen

Allan Unnerup (08-09-2005)
Kommentar
Fra : Allan Unnerup


Dato : 08-09-05 22:11

> Jeg er ikke helt sikker på hvad du mener. Hvis man får en fejl 500,
> betyder det, at der er fejl i serversidescriptet og dermed kan serveren
> ikke være nede.
> Man kan godt forsøge at tjekke om man får en fejl 500 vha. javascript, men
> det er langt lettere at lave serversidescriptet, så det tager forbehold
> for eventuelle fejl.

Fejl 500 betyder internal server error. Det er lidt svært at skrive noget
javakode, der tager højde for at javafortolkeren ikke kører

Med venlig hilsen
Allan



Ryan Kristensen (08-09-2005)
Kommentar
Fra : Ryan Kristensen


Dato : 08-09-05 22:37

On Thu, 08 Sep 2005 23:11:21 +0200, Allan Unnerup <alu@udkik.dk> wrote:

> Fejl 500 betyder internal server error. Det er lidt svært at skrive noget
> javakode, der tager højde for at javafortolkeren ikke kører

Dvs. at du _ved_ at serveren er online, men du vil teste om den kan
afvikle dine serverside scripts?

Meget simpelt kunne man lave en lille fil med:
system.out.println("<script
type='text/javascript'>parent.document.location.reload('ny_side.jsp');</script>");
Og så hente den vha. et iframe.

Ellers kan du, hvis du har mulighed for at sende et billede vha. jsp:
<img src="mit_test_billede.jsp" onload="location.reload('ny_side.jsp');" />

--
Ryan Kristensen

Allan Unnerup (09-09-2005)
Kommentar
Fra : Allan Unnerup


Dato : 09-09-05 20:44


"Ryan Kristensen" <ryankristensen@hotmail.invalid> skrev i en meddelelse
news.swsznmz8xxz6q7@news.inet.tele.dk...
> On Thu, 08 Sep 2005 23:11:21 +0200, Allan Unnerup <alu@udkik.dk> wrote:
>
> > Fejl 500 betyder internal server error. Det er lidt svært at skrive
noget
> > javakode, der tager højde for at javafortolkeren ikke kører
>
> Dvs. at du _ved_ at serveren er online, men du vil teste om den kan
> afvikle dine serverside scripts?

Apache-serveren fungerer. (Det er den, der sender fejl 500)
Tomcat-serveren er gået ned, så jeg kan ikke afvikle Java-kode.

> Meget simpelt kunne man lave en lille fil med:
> system.out.println("<script
>
type='text/javascript'>parent.document.location.reload('ny_side.jsp');</scri
pt>");
> Og så hente den vha. et iframe.

Jeg kan ikke få fat i .jsp-filer. De er læse-beskyttet af Apache-serveren.

> Ellers kan du, hvis du har mulighed for at sende et billede vha. jsp:
> <img src="mit_test_billede.jsp" onload="location.reload('ny_side.jsp');"
/>

Nej, jeg kan ikke afvikle JSP, fordi det kræver at Tomcat kører.

Med venlig hilsen
Allan



Søg
Reklame
Statistik
Spørgsmål : 177482
Tips : 31964
Nyheder : 719565
Indlæg : 6408387
Brugere : 218883

Månedens bedste
Årets bedste
Sidste års bedste