Sobes.tech
Junior

Brauzerin imkanlarının müəyyən edilməsi (feature detection) nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Brauzer xüsusiyyətlərinin aşkarlanması (feature detection) — bu, cari brauzerin müəyyən funksionallığı (API) dəstəkləyib-dəstəkləmədiyini yoxlamağa imkan verən proqramlaşdırma metodudur. Brauzerin versiyasını təxmin etmək və ya yoxlamaq yerinə, bu yanaşma xüsusiyyətlərin və ya metodların mövcudluğunu birbaşa test etməyə əsaslanır.

Üstünlüklər:

  • Maksimum uyğunluq: Kod yalnız lazım olan funksiyanı dəstəkləyən yerlərdə işləyir.
  • Dəyişikliklərə davamlılıq: Brauzer versiyalarından asılı deyil, çünki onlar dəyişə bilər.
  • Daha etibarlı yanaşma: İmkanlardan istifadə etmək, ehtimallardan yox.

Nümunə:

localStorage dəstəyinin yoxlanması:

if (typeof(Storage) !== "undefined") {
  // localStorage dəstəklənir
  localStorage.setItem("myKey", "myValue");
} else {
  // localStorage dəstəklənmir
  // Alternativ təklif et və ya istifadəçiyə məlumat ver
}

canvas dəstəyinin yoxlanması:

var canvas = document.createElement('canvas');
if (canvas.getContext) {
  // canvas dəstəklənir
  var ctx = canvas.getContext('2d');
  // canvas üzərində çəkin
} else {
  // canvas dəstəklənmir
}

Browser Sniffing ilə fərqi:

Browser Sniffing navigator.userAgent sətirinin analizinə əsaslanır və brauzeri və onun versiyasını müəyyən edir. Bu metod etibarlı deyil, çünki User Agent sətiri saxtalaşdırıla, dəyişdirilə və ya tamamlanmamış ola bilər. Xüsusiyyətlərin aşkarlanması imkanlara yönəlib, brauzerin tanınmasına yox.