實(shí)際使用在了cn.costream.site中,項(xiàng)目中的這篇 Issue 是我記錄的.
//ping 函數(shù), 檢測與內(nèi)網(wǎng)連接是否能在100ms 內(nèi)響應(yīng). 實(shí)測實(shí)驗(yàn)室電腦連接內(nèi)網(wǎng) ping 為 9-11ms 左右
function ping(ip,timeout,success,callback) {
var img = new Image()
var start = new Date().getTime()
img.src = /^(http)/.test(ip) ? ip + "?t=" + start : "http://" + ip + "?t=" + start
console.log(img.src)
var flag = false //無法訪問
img.onload = function () {
flag = true
success()
console.log('ping ok')
}
img.onerror = function () {
flag = true
success()
console.log('ping error')
}
var timer = setTimeout(function () {
if (!flag) { //如果真的無法訪問
flag = false
console.log('ping Timeout!')
callback()
}
}, timeout)
}
ping('http://202.114.18.86/icons/powered_by_rh.png',100,success,check)