Détection du navigateur JavaScript: une solution simple et efficace
Dans le développement de pages Web, la détection du type de navigateur de l'utilisateur est très utile pour traiter le bogue spécifique du navigateur, la réparation de compatibilité des applications ou les performances d'optimisation. Bien que le développement moderne préconise la détection des caractéristiques plutôt que la détection du navigateur, il est toujours pratique de comprendre le navigateur utilisé par les utilisateurs. Cet article explorera une méthode JavaScript simple et efficace, en utilisant les attributs
pour détecter différents navigateurs. navigator.userAgent
window.navigator.userAgent
par exemple:
À partir de cela, nous pouvons extraire des informations utiles.
<code>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36</code>
Ce qui suit est un moyen simple d'utiliser JavaScript pour détecter les navigateurs:
Code Explication détaillée
<code class="language-javascript">const userAgent = window.navigator.userAgent; const isEdge = /Edge/.test(userAgent); // 检测Microsoft Edge const isChrome = /chrome/i.test(userAgent) && !isEdge; // 检测Chrome,排除Edge const isSafari = /safari/i.test(userAgent) && !isEdge; // 检测Safari,排除Edge const isMobile = /mobile/i.test(userAgent); // 检测移动设备 const isIEWin7 = /Windows NT 6.1/i.test(userAgent) && /rv:11/i.test(userAgent); // 检测Windows 7上的Internet Explorer 11 const isOldSafari = isSafari && (/Version\/8/i.test(userAgent) || /Version\/9/i.test(userAgent)); // 检测旧版Safari const isEnabledForBrowser = (isChrome || isSafari || isIEWin7) && !isMobile;</code>
<code class="language-javascript">const isEdge = /Edge/.test(userAgent);</code>
<code class="language-javascript">const isChrome = /chrome/i.test(userAgent) && !isEdge;</code>
<code class="language-javascript">const isSafari = /safari/i.test(userAgent) && !isEdge;</code>
Le navigateur mobile contient généralement "mobile" dans son usaragent.
<code class="language-javascript">const isMobile = /mobile/i.test(userAgent);</code>
L'Usragent de Windows 7 contient "Windows NT 6.1", et IE 11 contient "RV: 11".
<code class="language-javascript">const isIEWin7 = /Windows NT 6.1/i.test(userAgent) && /rv:11/i.test(userAgent);</code>
<code class="language-javascript">const isOldSafari = isSafari && (/Version\/8/i.test(userAgent) || /Version\/9/i.test(userAgent));</code>
Exemple de code complet
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!