Attention: détecter un browser, sa version, le système d’exploitation, etc… via JS est une pratique qui montre ses limites. En effet, vous allez créer un site pour des navigateurs modernes et qui utilise les dernières versions de bibiothèques comme jQuery, Bootstrap, etc… La présence dans la source d’une bibliothèque comme jQuery 3.x, par exemple, va générer des erreurs en console et empêcher un script comme browser-detection de s’exécuter. Les classes ie, ie-8, etc... ne s’afficheront pas et vous ne pourrez déclencher ni JS, ni CSS si vous tablez sur leur présence.

browser-detection

Plug-in jQuery browser-detection.js sur GitHub.

Affecte les classes suivantes à l’élément html: win chrome chrome-61.

  • Les +
    • Nomenclature très front-end-dev-friendly !!! Les classes sont tout en minuscules, les mots au sein d’une même classe sont séparés par des tirets, les termes sont minimalistes et pertinents.
    • Edit du 06/10/2017: détecte les navigateurs EDGE depuis le tag 0.3.4. Evolution réalisée par kermit6000 (Thomas).
  • Les –
    • Ne détecte pas EDGE :/ (détecte Edge 15 comme win chrome chrome-52).

Platform

Les sources de Platform (A platform detection library that works on nearly all JavaScript platforms) sur GitHub.

Affecte les classes suivantes à l’élément html: Chrome 61.0.3163.100 Windows 10 64-bit.

  • Les +
    • Détecte EDGE
  • Les –
    • Nomenclature pas du tout front-end-dev-friendly: inclut des majuscules, des espaces et des points dans les noms des classes (Chrome, Windows 10 64-bit, 61.0.3163.100) et les versions des navigateurs peuvent être trop précises (61.0.3163.100).

Bowser

Les sources de Bowser (a browser detector by Lance Dikson) sur GitHub.

Affecte les classes suivantes à l’élément html: Chrome 61.0.

  • Les +
    • Détecte EDGE
  • Les –
    • N’ai pas réussi à afficher le type d’OS, mais uniquement sa version…

From scratch

How to find the operating system version using JavaScript

Detect MacOS, iOS, Windows, Android and Linux OS with JS

JavaScript iOS version detection