Tarayıcıda işletim sistemi nasıl belirlenir

Web uygulamanızın ana bilgisayar sistemi hakkında bilgi almak için modern API'leri kullanın

Tarayıcıda ana bilgisayar sistemini algıla

Bir Aşamalı Web Uygulaması yazıyorsanız ve aracıyı ne tür bir sistemin barındırdığını belirlemek istiyorsanız, basit bir API size yardımcı olabilir.

Bu makaledeki kodla yalnızca modern web uygulamalarını açıkça hedefliyorum. İşletim sisteminin veya tarayıcı sürümünün algılanması geçmişte çok kırılgandı, bu nedenle "navigatörde" bulunan yeni API'ler bu tür görevler için sağlam bir çözüm sunar, ancak yalnızca modern tarayıcılarda kullanılabilir.

Platformun kontrol edilmesi

Aşağıdaki kod, ortamı Javascript aracılığıyla nasıl güvenilir bir şekilde belirleyeceğinizi gösterir. Web uygulamanızı aşamalı olarak geliştirmek için bir dizi API sağlayan, pencerede bulunan bir nesne olan "navigatöre" erişir.

/**
 * Retrieve the host platform in a 
 * best-effort way w/ normalized output.
 */
export function getAgentSystem(){
  if(!("navigator" in window)){
    return "unknown";
  }
  
  // Use the modern 'web hints' provied by
  // 'userAgentData' if available, else use
  // the deprecated 'platform' as fallback.
  const platform = (navigator.userAgentData?.platform || navigator.platform)?.toLowerCase();
 
 if(platform.startsWith("win")) return "windows";
 if(platform.startsWith("mac")) return "macos";
 if(platform.startsWith("linux")) return "linux";
 return "unknown";
}

// Just to give you an idea, the following properites
// are options for the legacy 'navigator.platform':
//
// HP-UX
// Linux i686
// Linux armv7l
// Mac68K
// MacPPC
// MacIntel
// SunOS
// Win16
// Win32
// WebTV OS

Gördüğünüz gibi, uygulamanızı ne tür bir sistemin barındırdığını belirleme mantığı çok basittir ve yalnızca birkaç satır kod gerektirir.

Kullanım durumları için örnekler

Ana bilgisayarın işletim sistemini belirlemek için yaygın bir kullanım durumu, kodunuzda farklı klavye kısayolları ve ardından "kbd" etiketleri sağlamaktır. Örneğin, macOS “Komut” tuşunu kullanırken, Windows ve Linux birçok kısayol için “Kontrol” tuşunu kullanır.

Ayrıca, başka bir örnek vermek gerekirse, kullanıcı arabiriminizin stilini, ana bilgisayar sisteminden yerel kullanıcı arabirimiyle daha iyi hizalanacak şekilde değiştirebilirsiniz.