Si vous voulez vraiment faire cela, vous pouvez vérifier l'agent d'utilisateur dans les mêmes lignes que Ext utilise pour le faire.
Un extrait de Ext.js:
ua = navigator.userAgent.toLowerCase(),
check = function(r){
return r.test(ua);
},
DOC = document,
isStrict = DOC.compatMode == "CSS1Compat",
isOpera = check(/opera/),
isChrome = check(/\bchrome\b/),
isWebKit = check(/webkit/),
isSafari = !isChrome && check(/safari/),
isSafari2 = isSafari && check(/applewebkit\/4/), // unique to Safari 2
isSafari3 = isSafari && check(/version\/3/),
isSafari4 = isSafari && check(/version\/4/),
Je devine que pour Safari 5, vous pouvez écrire un test similaire où la version serait 5, bien que je n'ai pas vérifié ce que la chaîne de l'agent utilisateur 5 Safari ressemble à moi-même.
Attendez, arrêtez, * pourquoi * faites-vous cela? Vous ne devriez jamais vérifier * pour le navigateur *, vous devriez vérifier ** pour la fonctionnalité que vous voulez utiliser **. –
En effet. (Presque) tous ces scripts de renifleurs de navigateur testent contre la chaîne User Agent, qui peut être * très * facilement usurpée dans Safari (donc il prétend que c'est un autre navigateur) et la solution de contournement que vous vouliez n'affiche pas. //www.nczonline.net/blog/2009/12/29/feature-detection-is-not-browser-detection/ –
duplication possible de [Browser Detection] (http://stackoverflow.com/questions/100898/browser -détection) –