/ 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
Er klienten Online?
Fra : Per J


Dato : 09-10-03 13:44

Hej,

Jeg skal lave noget lokalt på en pc, i den forbindelse vil jeg gerne
undersøge om klienten er online.
Det skal foregå i browseren, og klientsprog(javascript el. lign.) vil være
at foretrække fremfor serverside(asp el. lign).

Helt præcist vil jeg ikke have vist en "404 page not found". Og hvis
klienten ikke er online skal han redirigeres til en anden lokal side.

Problemet kan måske løses på andre måde end at undersøge om klienten er
online, men det er umiddelbart det nærmeste løsning(da jeg har prøvet stort
set alt andet

Findes der en mulig løsning?




 
 
Lasse Reichstein Nie~ (09-10-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 09-10-03 14:02

"Per J" <permj@amitech.dk> writes:

> Jeg skal lave noget lokalt på en pc, i den forbindelse vil jeg gerne
> undersøge om klienten er online.
> Det skal foregå i browseren, og klientsprog(javascript el. lign.) vil være
> at foretrække fremfor serverside(asp el. lign).

Tjah, hvis du kan få fat i serveren overhovedet, så er klienten da
helt sikkert online :)

> Helt præcist vil jeg ikke have vist en "404 page not found".

Du får kun en 404 hvis klienten er online og serveren ikke kan finde
den efterspurgte fil. Svaret "404" er en server-fejlmeddelelse, som man
kun kan få ved at forbinde til serveren.

Fejlen vil snarere være "Unable to connect to server", eller hvad
browseren siger om det.

> Og hvis klienten ikke er online skal han redirigeres til en anden
> lokal side.

Det nemmeste er at hente en lille uskyldig fil fra serveren, typisk et
billede. Hvis det lykkes, så er serveren online (husk at sætte
serveren til at sige at billedet *ikke* må caches, eller hent et nyt
billede hver gang).

> Problemet kan måske løses på andre måde end at undersøge om klienten er
> online, men det er umiddelbart det nærmeste løsning(da jeg har prøvet stort
> set alt andet

Du vil vide på forhånd om det vil lykkes at hente en ekstern side. Det
bedste tjek er selvfølgelig at forsøge at hente siden i det skjulte.
Det næstbedste, og det jeg ville foretrække, er at hente en anden fil
fra samme server.

Forslag:
---
var dummyImg = new Image();
dummyImg.onload = function() { location.href="...eksterns side..."; };
dummyImg.onerror = function() { location.href="...lokal side..."; };
dummyImg.src = "http://ekstern site/onlineImg.png";
---

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Per J (13-10-2003)
Kommentar
Fra : Per J


Dato : 13-10-03 10:42

Det virkede faktisk at teste om billedet var loadet rigtig eller ej.
(faktisk en rigtig god løsning)
mange tak.


"Lasse Reichstein Nielsen" <lrn@hotpop.com> wrote in message
news:4qyiftta.fsf@hotpop.com...
> "Per J" <permj@amitech.dk> writes:
>
> > Jeg skal lave noget lokalt på en pc, i den forbindelse vil jeg gerne
> > undersøge om klienten er online.
> > Det skal foregå i browseren, og klientsprog(javascript el. lign.) vil
være
> > at foretrække fremfor serverside(asp el. lign).
>
> Tjah, hvis du kan få fat i serveren overhovedet, så er klienten da
> helt sikkert online :)
>
> > Helt præcist vil jeg ikke have vist en "404 page not found".
>
> Du får kun en 404 hvis klienten er online og serveren ikke kan finde
> den efterspurgte fil. Svaret "404" er en server-fejlmeddelelse, som man
> kun kan få ved at forbinde til serveren.
>
> Fejlen vil snarere være "Unable to connect to server", eller hvad
> browseren siger om det.
>
> > Og hvis klienten ikke er online skal han redirigeres til en anden
> > lokal side.
>
> Det nemmeste er at hente en lille uskyldig fil fra serveren, typisk et
> billede. Hvis det lykkes, så er serveren online (husk at sætte
> serveren til at sige at billedet *ikke* må caches, eller hent et nyt
> billede hver gang).
>
> > Problemet kan måske løses på andre måde end at undersøge om klienten er
> > online, men det er umiddelbart det nærmeste løsning(da jeg har prøvet
stort
> > set alt andet
>
> Du vil vide på forhånd om det vil lykkes at hente en ekstern side. Det
> bedste tjek er selvfølgelig at forsøge at hente siden i det skjulte.
> Det næstbedste, og det jeg ville foretrække, er at hente en anden fil
> fra samme server.
>
> Forslag:
> ---
> var dummyImg = new Image();
> dummyImg.onload = function() { location.href="...eksterns side..."; };
> dummyImg.onerror = function() { location.href="...lokal side..."; };
> dummyImg.src = "http://ekstern site/onlineImg.png";
> ---
>
> /L
> --
> Lasse Reichstein Nielsen - lrn@hotpop.com
> Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
> 'Faith without judgement merely degrades the spirit divine.'



Jens Peter Karlsen (09-10-2003)
Kommentar
Fra : Jens Peter Karlsen


Dato : 09-10-03 16:08

Hvis han søger en lokal side (der findes) vil han ikke få en 404 side
uanset om han er online eller ikke.
Hvis han søger en online side og ikke er online vil han heller ikke få
en 404 side men browserens default fejlside.
Det er der ligesom ikke noget du kan gøre ved.
Så hvad er det du søger at opnå?

Regards Jens Peter Karlsen. Microsoft MVP - Frontpage.


On Thu, 9 Oct 2003 14:44:23 +0200, "Per J" <permj@amitech.dk> wrote:

>
>Helt præcist vil jeg ikke have vist en "404 page not found". Og hvis
>klienten ikke er online skal han redirigeres til en anden lokal side.


Per J (10-10-2003)
Kommentar
Fra : Per J


Dato : 10-10-03 07:19

Hej igen,

Lokalt på min maskinen vil gerne i kontakt med en online side. Men hvis den
ikke kan findes/nås, vil jeg have vist en anden lokal side istedet.

Problemet er, at ligemeget hvad jeg gør, løber jeg ind i permission denied
problemer,(der skal siges, at online siden også er min, så jeg kan scripte
på den som jeg lyster)

Jeg har f.eks. prøvet at spørge til et online objekt(for at undersøge om
det eksisterer), men det må man ikke.



Lasse Reichstein Nie~ (10-10-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 10-10-03 11:35

"Per J" <permj@amitech.dk> writes:

> Lokalt på min maskinen vil gerne i kontakt med en online side. Men hvis den
> ikke kan findes/nås, vil jeg have vist en anden lokal side istedet.

Hvad mener du med "i kontakt med"?


> Problemet er, at ligemeget hvad jeg gør, løber jeg ind i permission denied
> problemer,(der skal siges, at online siden også er min, så jeg kan scripte
> på den som jeg lyster)

Hvis dine scripts forsøger at kommunikere på tværs af domæner, så får
du sådan en fejl.

> Jeg har f.eks. prøvet at spørge til et online objekt(for at undersøge om
> det eksisterer), men det må man ikke.

Har du prøvet at teste for om et billede kan downloades fra stedet?
Hvad skrev du? Hvad skete der?

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408927
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste