Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] Jak sprawdzic szybkosc i dostepnosc
Dagger
post
Post #1





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 4.02.2003
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Witam!
Chcial bym umiescic maly skrypt javascript w pliku index.html ktory by sprawdzal dostepnosc 2 innych moich kont www a nastepnie aby wybieral np. szybszy... tak aby strona otwierala sie by szybko osobie ja odwiedzajacej.
Jak to zrobic?
Pozdrawiam
Dagger
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
e-Gandalf
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 195
Pomógł: 0
Dołączył: 7.07.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


da sie i jedno i drugie zrobic z poziomu JS. Koledzy, ktorzy odpowiadali przede mna - czy testowalisice i probowaliscie to uzyskacz, czy twierdziecie ze sie nie da na "pale"?
Dagger ma oczywiscie racje, ze sprawdzajac dowolnym server-side sprawdzamy predkosc miedzy serwerem, a nie klientem.
W JS, mimo, ze nie ma natywnych mechanizmow do takich operacji (swoje specjalistyczne posiada Trident - silnik IE - w ActiveX, oraz Gecko - w postaci interfejsow sieciowych XPCOM) pozwala przy uzyciu sztuczek na takie manewry.

Rozwiazanie
1) Aby sprwdzic dostepnosc serwero nalezy umiescic na nich obrazek i z poziomu JS zazadac jego sciagania (x = new Image(), x.src="adres") nastepnie cyklicznie odpytywac czy obrazek juz zostal sciagniety - jesli nie zostanie np. przez 5 sekund uznajemy, ze serwer lezy. Jesli sciagna sie oba, ale jedenszybciej - masz prawdopodobna odpowiedz.

A teraz - co zrobic aby sprawdzic czy obrazek sie sciagnal? Kilka lat temu napisalem ATLoadera:

Kod
function AT_loader(o,O,t,h){

var p=[],A=0,S=0,i=[],r;

function d(i,W){p[p.length]=[i,W];A+=W;}

function y(){var g;

    S=0;for(g=0;g<p.length;g++)

  {

     if(!i[g]){i[g]=new Image();i[g].src=p[g][0]}

     else{(ie?i[g].complete:i[g].width>0)?S+=p[g][1]:0}

  }

eval(o);

if(S==A||(h-=t)<0){eval(O)}else{setTimeout(y,t)}

}

function s(){return [A,S]}

return {add:d,go:y,stat:s}

}


Zalatwia Ci wszystko co zwiazane ze sciaganiem obrazkow (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie
- Dagger   [js] Jak sprawdzic szybkosc i dostepnosc   18.04.2004, 21:31:16
- - Bakus   W JS jest to niezbyt możliwe... jeżeli już, to w p...   18.04.2004, 21:50:43
- - Paul   Moim zdaniem nie ma tu JS sensu, poniewaz JS jest ...   18.04.2004, 21:51:12
- - Dagger   po 1. jak bede sprawdzal szybkosc pozostalych kont...   19.04.2004, 06:48:13
- - e-Gandalf   da sie i jedno i drugie zrobic z poziomu JS. Koled...   19.04.2004, 10:54:47
- - Dagger   A mogl bys opisac te zmienne wejsciowe (o,O,t,h) ?   19.04.2004, 13:04:39
- - e-Gandalf   mhm. o - nazwa funkcji wywolywanej cyklicznie O -...   19.04.2004, 14:00:22
- - Dagger   To chyba dla mnie za skomplikowane. Osobiscie mam ...   19.04.2004, 16:13:04
- - e-Gandalf   Ehh... z palca: Kodvar imgLoader; var ready = fa...   19.04.2004, 16:36:50
- - Dagger   Dzieki wieczorem bede to sprawdzal.   19.04.2004, 17:30:09
- - Paul   Cytatda sie i jedno i drugie zrobic z poziomu JS. ...   19.04.2004, 17:47:34
- - e-Gandalf   A kto sugerowal php? ;p   19.04.2004, 19:00:31
- - Paul   podalem poprostu kilka rozwiazan...   19.04.2004, 19:17:04
- - e-Gandalf   i nadal sie upierasz, ze uzycie php zwroci to czeg...   19.04.2004, 19:27:26
- - Paul   Od poczatku sie nie upieralem, i sie nie upieram. ...   19.04.2004, 21:24:34
- - Dagger   Wracajac do tematu... W efekcie wyszedl mi taki s...   22.04.2004, 16:48:02
- - e-Gandalf   Wszystko zrobiles OK, tylko na koncu funkcji start...   22.04.2004, 17:27:12
- - Dagger   Fantastycznie ! Teraz dziala wszystko tak jak chci...   22.04.2004, 17:48:31


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 23:37