Sobes.tech
Junior

Brauzer imkoniyatlarini aniqlash nima?

sobes.tech AI

AIdan javob

Brauzer xususiyatlarini aniqlash (feature detection) — bu joriy brauzer ma'lum bir funksionallik (API) ni qo'llab-quvvatlayaptimi yoki yo'qligini tekshirish imkonini beradigan dasturlash usulidir. Brauzer versiyasini taxmin qilish yoki tekshirish o'rniga, bu yondashuv xususiyatlar yoki metodlarning mavjudligini to'g'ridan-to'g'ri sinovdan o'tkazishga asoslangan.

Afzalliklar:

  • Maksimal moslik: Kod faqat kerakli funksiyani qo'llab-quvvatlaydigan joyda ishlaydi.
  • O'zgarishlarga chidamlilik: Brauzer versiyalaridan mustaqil, ular o'zgarishi mumkin.
  • Ko'proq ishonchli yondashuv: Imkoniyatlardan foydalanish, taxminlardan emas.

Misol:

localStorage qo'llab-quvvatlashini tekshirish:

if (typeof(Storage) !== "undefined") {
  // localStorage qo'llab-quvvatlanadi
  localStorage.setItem("myKey", "myValue");
} else {
  // localStorage qo'llab-quvvatlanmaydi
  // Alternativ taklif qilish yoki foydalanuvchini xabardor qilish
}

canvas qo'llab-quvvatlashini tekshirish:

var canvas = document.createElement('canvas');
if (canvas.getContext) {
  // canvas qo'llab-quvvatlanadi
  var ctx = canvas.getContext('2d');
  // canvas da chizish
} else {
  // canvas qo'llab-quvvatlanmaydi
}

Browser Sniffing bilan farqi:

Browser Sniffing navigator.userAgent satrini tahlil qilishga asoslangan va brauzerni va uning versiyasini aniqlash uchun ishlatiladi. Bu usul ishonchli emas, chunki User Agent satri soxtalashtirilishi, o'zgartirilishi yoki to'liq bo'lmasligi mumkin. Feature detection imkoniyatlarga qaratilgan, brauzerni aniqlashga emas.