2016-07-06 5 views
-4
var img = new Image(); 

img.onerror = function() { 
    if (! img) return; 
    img = undefined; 
    alert("xxx.xxx.xxx.xxx is UP"); 
} 

img.onload = img.onerror; 

img.src = "http://xxx.xxx.xxx.xxx/123.jpg"; 

setTimeout(function() { 
    if (! img) return; 
    img = undefined; 
    alert("xxx.xxx.xxx.xxx is DOWN"); }, 5000); 
} 

[1] xxx.xxx.xxx.xxx ist ein Wirt, es vielleicht oben ist, es vielleicht nach unten ist. Dieser Code prüft, ob es hoch oder runter ist.Diese drei Zeilen JavaScript-Code hat mich verrückt

[2] 123.jpg ist eine nicht vorhandene Bilddatei.

[3] Ich habe nicht ganz die folgenden drei Zeilen Code verstehen

if (! img) return; 
img = undefined; 
alert("xxx.xxx.xxx.xxx is UP"); or alert("xxx.xxx.xxx.xxx is DOWN"); 

Kann jemand diese 3 Zeilen Code erklären?

+0

Bitte versuchen Sie zumindest Ihren Code richtig zu verbessern. Wenn du etwas Code nicht verstehst, lerne mehr über die Sprache oder frage die Person, die sie geschrieben hat, um Hilfe. –

Antwort

0

in Ordnung geht es um Folgendes

if (! img) return; 

wenn Bild nicht falsy ist ... wir die Funktion beenden

img = undefined 

unset wir die img Variable

alert("xxx.xxx.xxx.xxx is UP"); 

Display ein Pop mit dem obigen Text

Dies scheint eine seltsame Art zu sein, zu überprüfen, ob ein Bild existiert oder nicht. Ich würde es persönlich so machen:

var i = new Image() 
i.addEventListener('load', function(){alert('xxx.xxx.xxx.xxx is UP')}) 
i.addEventListener('error', function(){alert('xxx.xxx.xxx.xxx is DOWN')}) 
i.src="http://xxx.xxx.xxx.xxx/123.jpg"; 
+0

Ich denke, Sie haben eine extra * nicht * drin – JonSG

+0

Ich verstehe jede Zeile des Codes, aber ich kann nicht verstehen, das Prinzip der Überprüfung eines Hosts nach oben oder unten mit diesem Code. Warum? Ich möchte es wissen. Vielen Dank. – oldcat

+0

es ist ein bisschen seltsam, ich habe meine Antwort bearbeitet, um Ihnen zu zeigen, wie ich es tun würde:/ – derp

Verwandte Themen