修改後:
ping = function(ip, callback) { if (!this.inUse) { this.status = 'unchecked'; this.inUse = true; this.callback = callback; this.ip = ip; var _that = this; this.img = new Image(); this.img.onload = function() { _that.inUse = false; _that.callback('responded'); }; this.img.onerror = function(e) { if (_that.inUse) { _that.inUse = false; _that.callback('responded', e); } }; this.start = new Date().getTime(); this.img.src = "http://" + ip; this.timer = setTimeout(function() { if (_that.inUse) { _that.inUse = false; _that.callback('timeout'); } }, 1500); } }; //使用: new ping('192.168.0.88', function(status, e) { console.log(status); });
有這個ip,在控制台會顯示 responded,沒有則會顯示timeout
沒有留言:
張貼留言