if url nicht erreichbar

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

<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 :slight_smile:

Gruß,
-Efchen

das kannst du - wenn es um JavaScript geht - nur mit Ajax erledigen.

danke für deine antworten :smiley:

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:

<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]

<body onload="ping()"; 

[/code]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;
[/code]

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"."
"; else echo $webserver.": offline"."
"; } ?>

[/php]

für server1 und server2 kannst du z.b mal html.de eingeben.

Also deine Rechtschreibung ist ziemlich grauenhaft… :wink:

Du kannst in dieser Abfrage hier:

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 :frowning:

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

und php kann ich leider nicht verwenden :frowning: