#SysAdmin #NetAdmin

JavaScript – Détection navigateur web

J

Dernièrement j’ai eu besoin pour l’utilisation d’un service web de détecter si le navigateur était basé sur Chronium lors du chargement du site, voici la méthode que j’ai utilisée.

Fonction JavaScript

Cette fonction JavaScript est à déclarer tout simplement dans le <head> de votre page par exemple. Elle se charge de récupérer le userAgent du navigateur et d’afficher un message si celui ne correspond à pas Chrome.

<script> 
    function checkBrowser() { 
        let userAgentString = navigator.userAgent;
        let chromeAgent = userAgentString.indexOf("Chrome") > -1;
        let safariAgent = userAgentString.indexOf("Safari") > -1;
        if ((chromeAgent) && (safariAgent))
          chromeAgent = false;
        let edgechroniumAgent = userAgentString.indexOf("Edg") != -1;
        if (edgechroniumAgent == true)
          chromeAgent = true;
        if (chromeAgent != true)
          alert("Pour un fonctionnement correct du service, il est nécessaire d'utiliser un navigateur Chromium (Google Chrome, Microsoft Edge, Opera, Vivaldi, Brave).");
    }
  </script>

Exécution

Pour que la fonction soit exécutée au chargement de la page, il suffit de mettre un « onload » sur le body :

<body onload="checkBrowser()">

Détection des navigateurs

Bonus, si vous avez besoin de détecter les autres navigateurs, vous pouvez compléter la première fonction par les valeurs suivantes:

// Detect Internet Explorer
let IExplorerAgent = userAgentString.indexOf("MSIE") > -1 || userAgentString.indexOf("rv:") > -1;

// Detect Firefox
let firefoxAgent = userAgentString.indexOf("Firefox") > -1;
          
// Detect Opera 
let operaAgent = userAgentString.indexOf("OP") > -1;
                  
// Discard Chrome since it also matches Opera
if ((chromeAgent) && (operaAgent))
chromeAgent = false;
par Nathan
#SysAdmin #NetAdmin