หากสิ่งที่คุณพยายามที่จะดูคือว่าเซิร์ฟเวอร์ "อยู่" คุณสามารถใช้ต่อไปนี้:
function isValidURL(url) {
var encodedURL = encodeURIComponent(url);
var isValid = false;
$.ajax({
url: "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22" + encodedURL + "%22&format=json",
type: "get",
async: false,
dataType: "json",
success: function(data) {
isValid = data.query.results != null;
},
error: function(){
isValid = false;
}
});
return isValid;
}
สิ่งนี้จะส่งคืนการบ่งชี้ที่เป็นเท็จหรือไม่ว่าเซิร์ฟเวอร์นั้นมีอยู่จริงหรือไม่
หากคุณต้องการเวลาตอบสนองการแก้ไขเล็กน้อยจะทำ:
function ping(url) {
var encodedURL = encodeURIComponent(url);
var startDate = new Date();
var endDate = null;
$.ajax({
url: "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22" + encodedURL + "%22&format=json",
type: "get",
async: false,
dataType: "json",
success: function(data) {
if (data.query.results != null) {
endDate = new Date();
} else {
endDate = null;
}
},
error: function(){
endDate = null;
}
});
if (endDate == null) {
throw "Not responsive...";
}
return endDate.getTime() - startDate.getTime();
}
การใช้งานนั้นเล็กน้อย:
var isValid = isValidURL("http://example.com");
alert(isValid ? "Valid URL!!!" : "Damn...");
หรือ:
var responseInMillis = ping("example.com");
alert(responseInMillis);
"/?cachebreaker="+new Date().getTime();ถึง img src หากจำเป็น