63 votes

Comment détecter la version de Chrome installée ?

Je développe une extension Chrome et je me demande s'il existe un moyen de détecter la version de Chrome utilisée par l'utilisateur.

133voto

serg Points 43893

Obtenir la version majeure de Chrome sous la forme d'un nombre entier :

function getChromeVersion () {     
    var raw = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);

    return raw ? parseInt(raw[2], 10) : false;
}

J'ai mis à jour la réponse originale, afin qu'elle ne lève pas d'exception dans d'autres navigateurs et qu'elle n'utilise pas de fonctionnalités obsolètes.

Vous pouvez également définir minimum_chrome_version dans le manifeste afin d'empêcher les utilisateurs de versions plus anciennes de l'installer.

7voto

drmrbrewer Points 431

Voici une version, basée sur la réponse de @serg, qui extrait tous les éléments du numéro de version :

function getChromeVersion () {
    var pieces = navigator.userAgent.match(/Chrom(?:e|ium)\/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/);
    if (pieces == null || pieces.length != 5) {
        return undefined;
    }
    pieces = pieces.map(piece => parseInt(piece, 10));
    return {
        major: pieces[1],
        minor: pieces[2],
        build: pieces[3],
        patch: pieces[4]
    };
}

La dénomination des éléments de l'objet renvoyé est basée sur les éléments suivants este Bien qu'il soit possible de l'adapter pour qu'elle soit basée sur la convention de la este au lieu de cela.

4voto

Dr.Tranquility Points 316

Une autre solution moderne consiste à vérifier le navigator.userAgentData.brands

Par exemple :

Boolean(navigator.userAgentData?.brands.find(({ brand, version }) => brand === 'Chromium' && parseFloat(version, 10) >= 93))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X