Autor | Zpráva | ||
---|---|---|---|
Enko Profil * |
#1 · Zasláno: 5. 3. 2012, 16:46:57
Ahoj,
potřebuji ověřovat dostupnost souboru nebo domény na jiném serveru v internetu. Vyplodil jsem toto: <script type="text/javascript"> function check_wan(){ if(window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else{ // code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("HEAD", "/index.php",true); xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState==4){ if(xmlhttp.status==200){alert("URL Exists!");} else if (xmlhttp.status==404){alert("URL doesn't exist!");} else{alert("Status is "+xmlhttp.status);} } } xmlhttp.send(null); } </script> Děkuji za každou pomoc |
||
_es Profil |
Enko:
„Jenže to funguje jen při kontrole souborů na tom samém serveru.“ Áno, to je bezpečnostné obmedzenie. „Je nějaká možnost, jak kontrolovat dostupnost souborů na jiném serveru v internetu?“ Sú určité obmedzenejšie možnosti, napríklad pokúsiť sa stiahnuť súbor ako obrázok, JS skript či CSS štýl. Zaujímal by ma účel niečoho takého. Buď je ten súbor z iného servera treba a so súhlasom jeho vlastníka sa použije - ak to bezpečnostné obmedzenia umožňujú, alebo sa v opačných prípadoch nepoužije. Na čo zisťovať „dostupnosť“ cez JS? |
||
Enko Profil * |
#3 · Zasláno: 5. 3. 2012, 17:23:36
Potřebuji ověřit dostupnost WAN sítě z Mikrotik routerboardu a protože to Mikrotik neumí, potřebuji to zkusit alespoň na straně klienta.
Jinak už jsem něco našel třeba zde http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/ |
||
_es Profil |
#4 · Zasláno: 5. 3. 2012, 17:37:55
Enko:
Najjednoduchšie bude načítavať JS súbor. JQuery je len obal okolo základných vecí, nejde s ním nič, čo by nešlo aj bez neho. |
||
Enko Profil * |
#5 · Zasláno: 5. 3. 2012, 17:39:47
_es:
Popiš mi prosím, jak to přesně myslíš. |
||
_es Profil |
#6 · Zasláno: 5. 3. 2012, 17:46:30
Enko:
„jak to přesně myslíš“ No dáš si do toho JS na inom serveri niečo také, aby bolo zistiteľné, že sa súbor načítal, napríklad definíciu nejakej premennej, alebo aj len: Do stránky na vhodné miesto: <script src="odkaz na súbor"></script> document.write("WAN sieť je dostupná") |
||
Enko Profil * |
#7 · Zasláno: 5. 3. 2012, 18:10:04
Nemám možnost to otestovat, ale chápu li to správně, tak to bude nějak takto?
<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> <!-- v tomto souboru mam definovanou promenou x --!> <script type="text/javascript" src="http://domena/js/var.js"></script> <script type="text/javascript"> function check_wan(){ if(x){ document.write("Internet je dostupný!"); } else{ document.write("Internet není dostupný!"); } } </script> </head> <body> <script> check_wan(); </script> </body> </html> |
||
_es Profil |
#8 · Zasláno: 5. 3. 2012, 18:21:20
Enko:
„if(x){“ To pri neexistencii premennej „vyhodí“ chybu. try{x; document.write("Internet je dostupný!")}catch(e){document.write("Internet není dostupný!")} |
||
Enko Profil * |
#9 · Zasláno: 5. 3. 2012, 18:27:02
_es:
Supr, aneb v jednoduchosti je krása! :) Děkuju |
||
_es Profil |
#10 · Zasláno: 5. 3. 2012, 18:44:16
Enko:
Pri testovaní v [#8] ani nemusí mať premenná hodnotu, testuje sa len jej existencia, stačí aj var x;
|
||
Enko Profil * |
#11 · Zasláno: 5. 3. 2012, 18:49:47
JJ, vím :)
|
||
Časová prodleva: 11 let
|
0