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是一个主机,它可能已经启动,它可能已关闭。此代码将检查它是上升还是下降。
[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");
有人可以解释这三行代码吗?
答案 0 :(得分:0)
好吧让我们分解
if (! img) return;
如果图片不是falsy ...我们退出函数
img = undefined
我们取消设置img变量
alert("xxx.xxx.xxx.xxx is UP");
显示弹出的上述文字
这似乎是检查图像是否存在的一种奇怪方式。我个人会这样做:
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";