测了一个可用的:
function ping_ip (ip) {
let img = new Image()
let start = new Date().getTime()
let isC = true
let hasFinish = false
return new Promise((resolve, reject) => {
img.onload = function () {
if (!hasFinish) {
hasFinish = true
resolve('success')
}
}
img.onerror = function () {
if (!hasFinish) {
if (!hasC) {
resolve('success')
} else {
resolve('failed')
}
hasFinish = true
}
}
setTimeout(function () {
if (!hasFinish) {
hasFinish = true
resolve('failed')
}
}, 3000)
img.src = `http://${ip}/${start}`
isC = false
console.log('start')
})
}
该博客介绍了一个JavaScript函数,通过创建Image对象并设置其src属性为指定IP地址来检查该IP是否可达。函数利用onload和onerror事件来判断连接成功或失败,并在超时后提供默认结果。此方法常用于非阻塞的IP可达性检测。
1611

被折叠的 条评论
为什么被折叠?



