jQuery ile internet bağlantısını kontrol etmek için birkaç farklı yöntem bulunmaktadır. Bu yöntemlerin her birinin avantajları ve dezavantajları vardır.
1. navigator.onLine özelliği:
Bu özellik, kullanıcının çevrimiçi olup olmadığını gösteren bir Boolean değer döndürür. Ancak, bu özellik her zaman doğru sonuç vermeyebilir. Örneğin, kullanıcı bir yerel ağa bağlıysa ancak internete erişimi yoksa, bu özellik true döndürebilir.
JavaScript
if (navigator.onLine) {
console.log("Çevrimiçi");
} else {
console.log("Çevrimdışı");
}
2. AJAX isteği:
Bu yöntem, belirli bir kaynağa (örneğin, bir web sitesi veya API) AJAX isteği göndererek internet bağlantısını kontrol eder. İstek başarılı olursa, internet bağlantısı var demektir. İstek başarısız olursa, internet bağlantısı yok demektir.
JavaScript
$.ajax({
url: "Google",
success: function() {
console.log("Çevrimiçi");
},
error: function() {
console.log("Çevrimdışı");
}
});
3. WebSocket:
WebSocket, tarayıcı ve sunucu arasında çift yönlü iletişim sağlayan bir teknolojidir. WebSocket bağlantısı kurulabilirse, internet bağlantısı var demektir. WebSocket bağlantısı kurulamıyorsa, internet bağlantısı yok demektir.
JavaScript
var ws = new WebSocket("wss://echo.websocket.org");
ws.onopen = function() {
console.log("Çevrimiçi");
};
ws.onerror = function() {
console.log("Çevrimdışı");
};
4. Ping isteği:
Bu yöntem, belirli bir IP adresine veya ana bilgisayar adına ping isteği göndererek internet bağlantısını kontrol eder. Ping isteği başarılı olursa, internet bağlantısı var demektir. Ping isteği başarısız olursa, internet bağlantısı yok demektir.
JavaScript
$.ajax({
url: "https://api.ipify.org?format=json",
success: function(data) {
var ip = data.ip;
$.ajax({
url: "Online Ping, Traceroute, DNS lookup, WHOIS, Port check, Reverse lookup, Proxy checker, Bandwidth meter, Network calculator, Network mask calculator, Country by IP, Unit converter" + ip,
success: function(data) {
if (data.indexOf("0 received") === -1) {
console.log("Çevrimiçi");
} else {
console.log("Çevrimdışı");
}
},
error: function() {
console.log("Çevrimdışı");
}
});
},
error: function() {
console.log("Çevrimdışı");
}
});
Hangi yöntemi kullanmalıyım?
Hangi yöntemi kullanacağınız, uygulamanızın gereksinimlerine bağlıdır. Örneğin, uygulamanızın gerçek zamanlı veri alışverişi yapması gerekiyorsa, WebSocket kullanmanız gerekebilir. Uygulamanızın sadece internet bağlantısının olup olmadığını kontrol etmesi gerekiyorsa, navigator.onLine özelliği veya AJAX isteği kullanabilirsiniz.
Örnek kullanım senaryoları:
1. navigator.onLine özelliği:
Bu özellik, kullanıcının çevrimiçi olup olmadığını gösteren bir Boolean değer döndürür. Ancak, bu özellik her zaman doğru sonuç vermeyebilir. Örneğin, kullanıcı bir yerel ağa bağlıysa ancak internete erişimi yoksa, bu özellik true döndürebilir.
JavaScript
if (navigator.onLine) {
console.log("Çevrimiçi");
} else {
console.log("Çevrimdışı");
}
2. AJAX isteği:
Bu yöntem, belirli bir kaynağa (örneğin, bir web sitesi veya API) AJAX isteği göndererek internet bağlantısını kontrol eder. İstek başarılı olursa, internet bağlantısı var demektir. İstek başarısız olursa, internet bağlantısı yok demektir.
JavaScript
$.ajax({
url: "Google",
success: function() {
console.log("Çevrimiçi");
},
error: function() {
console.log("Çevrimdışı");
}
});
3. WebSocket:
WebSocket, tarayıcı ve sunucu arasında çift yönlü iletişim sağlayan bir teknolojidir. WebSocket bağlantısı kurulabilirse, internet bağlantısı var demektir. WebSocket bağlantısı kurulamıyorsa, internet bağlantısı yok demektir.
JavaScript
var ws = new WebSocket("wss://echo.websocket.org");
ws.onopen = function() {
console.log("Çevrimiçi");
};
ws.onerror = function() {
console.log("Çevrimdışı");
};
4. Ping isteği:
Bu yöntem, belirli bir IP adresine veya ana bilgisayar adına ping isteği göndererek internet bağlantısını kontrol eder. Ping isteği başarılı olursa, internet bağlantısı var demektir. Ping isteği başarısız olursa, internet bağlantısı yok demektir.
JavaScript
$.ajax({
url: "https://api.ipify.org?format=json",
success: function(data) {
var ip = data.ip;
$.ajax({
url: "Online Ping, Traceroute, DNS lookup, WHOIS, Port check, Reverse lookup, Proxy checker, Bandwidth meter, Network calculator, Network mask calculator, Country by IP, Unit converter" + ip,
success: function(data) {
if (data.indexOf("0 received") === -1) {
console.log("Çevrimiçi");
} else {
console.log("Çevrimdışı");
}
},
error: function() {
console.log("Çevrimdışı");
}
});
},
error: function() {
console.log("Çevrimdışı");
}
});
Hangi yöntemi kullanmalıyım?
Hangi yöntemi kullanacağınız, uygulamanızın gereksinimlerine bağlıdır. Örneğin, uygulamanızın gerçek zamanlı veri alışverişi yapması gerekiyorsa, WebSocket kullanmanız gerekebilir. Uygulamanızın sadece internet bağlantısının olup olmadığını kontrol etmesi gerekiyorsa, navigator.onLine özelliği veya AJAX isteği kullanabilirsiniz.
Örnek kullanım senaryoları:
Jquery ile internet bağlantısı kontrol etme
4/
5
Oleh
WebYazilimciniz
Lütfen yorum yaparken şunlara dikkat ediniz:
Küfürlü, siyasi veya huzur bozucu yorumlar yapmamaya,
Reklam, spam gibi yorumlar yapmamaya.