• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

if url nicht erreichbar

Status
Für weitere Antworten geschlossen.

haufe

Neues Mitglied
hallo

ist es möglich per javascript eine if anfrage nach einer url so zu stellen das, falls die url nicht erreichbar ist er sagt z.b: "nicht erreichbar " in einem iframe???

also so
Code:
<script type="text/javascript">
function urle(
if (url==offline )
  url nicht erreichbar;

) else (
http://dieurl.de
)
</script>

<iframe>urle()</iframe>

danke
 
Meines Wissens nicht.
Es gibt aber glaube ich in PHP Funktionen, um eine URL abzurufen und zu laden. Wenn man das mit einem Timeout verbindet, könnte man sicher so eine Funktion erstellen.

Alternativ geht das sicherlich per CGI mit einer Programmiersprache, mit der man einen Socket zum HTTP-Server aufmacht, die Seite anfordert und guckt, was man als Antwort bekommt, aber ich vermute, DAS wolltest Du nicht so genau wissen :-)

Gruß,
-Efchen
 
danke für deine antworten :D

ajax oder atta macht doch alles sauber :D:D

habe 2 fragen

1.)wie würde so was mit ajax aussehen???
2.)habe ein script gefunden (mit javascript ein ping absetzten) kann ich den nicht umbauen?? der script gibt mir ja mal die ip + ein true zurück.
er gibt das ergebnis so aus:
Code:
<table id="results" >
die ausgabe besteht aus einem "true" wenn die ip antwortet.
wenn ich jetzt die ausgabe in eine if abfrage einbauen könnte wäre das perfekt,
habe leider keine ahnung wie ich id="results" in eine if anfrage bei javascript einbauen kann

danke für eure hilfe.

edit:

so hier meine html dateien!!

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="description" content="Implementing Ping in JavaScript">
<meta name="keywords" content="JavaScript, Ping, Reconnaissance, Hacking, Web application security">
<script type="text/javascript" src="common.js"></script>
</head>
<body>




<script src="pinger.js"></script>

<script type="text/javascript">
  function reporter(ip, up, time) {
    addSimpleRow('results',[up]);
  }

    function ping() {
    var pinger = new Pinger();
    var ip = document.getElementById('ip').value;
    var up2 = document.getElementById('results','[up]').value;


    pinger.ping(ip, reporter);
    
    if( up2 == true ){
    alert("on");
    } else {
    alert("off");
    }

    }

    


</script>
    <body onload="ping()"; 


  <input id="ip" type="hidden" size="150" value="powerplay-gaming.de" />

<table id="results" >


</table>


<br />
</body>
</html>
js datei
Code:
function Pinger() {

  this.ip = '';
  this.inUse = false;
  this.callback = null;

  //time holders
  this.start = null;
  this.end = null;

  //image object
  this.img = null;
  this.timer = null;

}

function Pinger_ping(ip, callback) {

  if(!this.inUse) {

    this.inUse = true;
    this.callback = callback
    this.ip = ip;

    var _that = this;

    this.img = new Image();

    this.img.onload = function() {_that.good();};
    this.img.onerror = function() {_that.good();};

    this.start = new Date().getTime();
    this.img.src = "http://" + ip;
    this.timer = setTimeout(function() { _that.bad();}, 1500);

  }
}

function Pinger_good() {
  
  if(this.inUse) {
    this.inUse = false;
    this.end = new Date().getTime();
    //clear the timer & img
    clearTimeout(this.timer);
    this.img = null;
    this.callback(this.ip,true, this.end - this.start);
  }

}

function Pinger_bad() {
  
  if(this.inUse) {
    this.inUse = false;
    this.end = new Date().getTime();
    //clear the timer & img
    clearTimeout(this.timer);
    this.img = null;
    this.callback(this.ip,false, this.end - this.start);
  }

}

Pinger.prototype.ping = Pinger_ping;
Pinger.prototype.good = Pinger_good;
Pinger.prototype.bad = Pinger_bad;
 
Zuletzt bearbeitet:
in php könnte das ca so aussehen:
PHP:
<?PHP

function ping($host, $port)
{
   $timeout = 20;
   $handle = @fsockopen($host = "udp://".$host, $port, &$errno, &$errstr, $timeout);
   if (!$handle)
   {
        return false;
        exit();
   }
   else
   {
         return true;
         fclose($handle);
   }
}

$server = array("server1", "server2");
foreach ($server as $webserver)
{
    if (ping($webserver,80)) echo $webserver.": online"."<br>";
    else echo $webserver.": offline"."<br>";
}
?>

für server1 und server2 kannst du z.b mal html.de eingeben.
 
Also deine Rechtschreibung ist ziemlich grauenhaft... ;)

Du kannst in dieser Abfrage hier:
Code:
if( up2 == true ){
    alert("on");
    } else {
    alert("off");
    }

Deine Anfrage reinbauen indem "alert("on")" durch bsp. window.open("blubb.de") machen kannst und das alert("off") zum bsp: alert("fehler") aufleuchten lassen.
 
das will nicht funktionieren :-(

Code:
var up2 = document.getElementById('results','[up]').value;

und php kann ich leider nicht verwenden :(
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben