57 votes

Comment détecter si Chrome utilise jQuery comme navigateur?

J'ai un problème avec une fonction fonctionnant en chrome qui fonctionne correctement dans Safari, les deux navigateurs Webkit ...

Je dois personnaliser une variable dans une fonction pour Chrome, mais pas pour Safari.

Malheureusement, je l’utilise pour détecter s’il s’agit d’un navigateur Webkit:

 if ($.browser.webkit) {
 

Mais je dois détecter:

 if ($.browser.chrome) {
 

Est-il possible d'écrire une déclaration similaire (une version de travail de celle ci-dessus)?

107voto

Haim Evgi Points 40786
 $.browser.chrome = /chrom(e|ium)/.test(navigator.userAgent.toLowerCase()); 

if($.browser.chrome){
  ............

}
 

MISE À JOUR: (10x à @ M. Bacciagalupe)

jQuery a supprimé $.browser de 1.9 et leur dernière version.

Mais vous pouvez toujours utiliser $ .browser en tant que plugin autonome, disponible ici

46voto

adedoy Points 1387
if(/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())){
 alert('I am chrome');
}

12voto

Mr. Bacciagalupe Points 2774

Veuillez essayer ceci:

var isChrome = window.chrome;
if(isChrome) {
   // is chrome 
} else { 
   // not chrome 
}

Cette question a déjà été discuté ici: JavaScript: Comment faire pour savoir si le navigateur de l'utilisateur est en Chrome?

Au-dessus des postes de conseiller d'utiliser jQuery.le navigateur. Mais le jQuery API recommande à l'encontre de l'utilisation de cette méthode.. (voir les DOCS de l'API). Et les membres de sa fonctionnalité peut être déplacé à une équipe pris en charge plugin dans une future version de jQuery.

Le jQuery API recommande d'utiliser jQuery.support.

La raison en est que " jQuery.navigateur utilise l'agent de l'utilisateur qui peut être usurpée et il est effectivement déconseillé dans les versions ultérieures de jQuery. Si vous voulez vraiment utiliser $.navigateur.. Voici le lien pour la version autonome de jQuery plugin, car il a été supprimé de la version jQuery 1.9.1. https://github.com/gabceb/jquery-browser-plugin

Il est préférable d'utiliser la fonction de détection d'objet à la place de la détection de navigateur.

Aussi, si vous utilisez Google Chrome inspecteur et aller à l'onglet console. De Type "fenêtre" et appuyez sur enter. Ensuite, vous être en mesure d'afficher le modèle DOM des propriétés de la fenêtre "objet". Lorsque vous réduisez l'objet vous pouvez consulter tous les biens, y compris le "chrome" de la propriété.

J'espère que cette aide, même si la question était de savoir comment le faire avec jQuery. Mais parfois directement javascript est plus simple!

9voto

Master Points 81

Utilisateur sans fin a raison,

 $.browser.chrome = (typeof window.chrome === "object"); 
 

Le code est préférable pour détecter le navigateur Chrome en utilisant jQuery.

Si vous utilisez IE et avez ajouté GoogleFrame en tant que plugin, alors

 var is_chrome = /chrome/.test( navigator.userAgent.toLowerCase() );
 

le code sera considéré comme un navigateur Chrome, car le plug-in GoogleFrame modifie la propriété du navigateur et y ajoute chromeframe.

5voto

Endless Points 1188

userAgent peut être changé. pour plus robuste, utilisez la variable globale spécifiée par chrome

 $.browser.chrome = (typeof window.chrome === "object");
 

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