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がホストである、それは多分それは多分ダウンして、アップしています。このコードは、それがアップであるかダウンであるかをチェックします。これら3行は、私はクレイジー

[2] 123.jpgは存在しない画像ファイルです。

[3]私は完全に次のコード3行を理解していない

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

誰かがコードのこれらの3行を説明できますか?

+0

コードを適切に作成してください。いくつかのコードを理解できない場合は、言語の詳細を学んだり、ヘルプを書いた人に相談してください。 –

答えて

0

大丈夫は、我々は変数のimg

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

ディスプレイポップの設定を解除

img = undefined 

機能を終了...画像がfalsyない場合はダウン

if (! img) return; 

それを破ることができます上の文章と一致する

これは、イメージが存在するかどうかを確認する奇妙な方法のようです。私は個人的に以下のようにします:

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

私はそこに余分な*を持っていないと思います – JonSG

+0

私はすべてのコード行を理解していますが、このコードを使用してホストをチェックする原則を理解できません。どうして?私は知りたいです。ありがとう。 – oldcat

+0

少し奇妙です、私は私の答えを編集して、私はそれをどうやってするかを示しています:/ – derp

関連する問題