Comment détecter si le navigateur est google Chrome à l'aide de jQuery?
J'ai un petit problème avec une fonction de google chrome qui fonctionne correctement dans Safari, les deux navigateurs webkit...
J'ai besoin de personnaliser une variable dans une fonction, pour Chrome, mais pas pour Safari.
Malheureusement, j'ai été en utilisant ce à détecter si c'est un navigateur webkit:
if ($.browser.webkit) {
Mais j'ai besoin de détecter:
if ($.browser.chrome) {
Est-il possible d'écrire une déclaration similaire (une version de travail de l'un au-dessus)?
- Peut-être que vous pourriez publier la fonction cassée pour voir si nous pouvons vous aider à le faire fonctionner dans chrome trop?
- La fonction est assez longue et je sais comment résoudre le problème, j'ai juste besoin d'être en mesure de le personnaliser pour Chrome
- stackoverflow.com/questions/3303858/...
- C'est une bonne idée, j'ai juste l'impression que j'ai travaillé à travers elle, suffisamment pour savoir où le problème est
- Haim, merci. Pourriez-vous poster cela comme une réponse afin que je puisse l'accepter?
Vous devez vous connecter pour publier un commentaire.
Mise à JOUR:(10 @M. Bacciagalupe)
jQuery a supprimé
$.browser
de 1.9 et leur dernière version.Mais vous pouvez toujours utiliser $.navigateur comme un plugin autonome, trouvé ici
/chrom(e|ium)/
juste pour être sûr 🙂position()
lorsque le décalage des parents a une frontière.Cette question a déjà été discuté ici: JavaScript: Comment faire pour savoir si le navigateur de l'utilisateur est en Chrome?
Veuillez essayer ceci:
Mais aussi plus complète et précise réponse serait ce depuis IE11, IE Bord, et de l'Opéra est également de retour
true
pourwindow.chrome
Utiliser ci-dessous:
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 DOCS en 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!
Utilisateur Infinies, c'est droit,
code est préférable de détecter le navigateur google Chrome à l'aide de jQuery.
Si vous utilisez IE et a ajouté GoogleFrame que le plugin puis
code traitera comme le navigateur google Chrome, car GoogleFrame plugin modifiant le navigateur de la propriété et de l'ajout de chromeframe à l'intérieur.
userAgent peut être changé. pour plus robuste, nous utilisons la variable spécifiée par chrome
Bien qu'il n'est pas de Jquery , j'utilise jquery moi-même, mais pour la détection du navigateur, j'ai utilisé le script sur cette page à quelques reprises. Il détecte tous les principaux navigateurs, et puis certains. Le travail est à peu près tout fait pour vous.
Malheureusement, en raison de l'Opéra de dernière mise à jour
!!window.chrome
(et d'autres tests sur l'objet window) lors de l'essai de l'Opéra renvoie la valeur true.Conditionizr prend soin de cela pour vous et résout l'Opéra question:
Je lui conseillerais de les utiliser comme aucun des ci-dessus sont valables.
Cela vous permet de faire:
Conditionizr prend soin des autres navigateur détecte et est beaucoup plus rapide et plus fiable que jQuery hacks.
Comme un petit plus, et je suis surpris que personne n'a pensé à cela, vous pouvez utiliser le
in
opérateur:Évidemment, ce n'est pas à l'aide de JQuery, mais j'ai pensé que je l'avais mis car c'est pratique pour les moments où vous n'utilisez pas toutes les bibliothèques externes.
Quand j'ai tester la réponse de @IE, j'ai toujours "vrai". La meilleure façon est-ce qui fonctionne aussi @IE:
Comme décrit dans cette réponse:
https://stackoverflow.com/a/4565120/1201725