2011-06-28 11 views
7

किसी को भी जावास्क्रिप्ट/jQuery का उपयोग कर क्लाइंट पर स्थापित ब्राउज़र के & संस्करण को खोजने के लिए एक अच्छा और विश्वसनीय तरीका पता है?ब्राउज़र प्रकार और संस्करण खोजें?

ऐसा लगता है कि jQuery में कुछ अंतर्निहित फ़ंक्शंस हैं, लेकिन क्रोम का पता लगाने में समस्याएं आ रही हैं। ऐसा करने का कोई और विश्वसनीय तरीका?

+1

किस कारण का पता लगा रहा? – Gareth

उत्तर

8

यदि आप अपने आगंतुक का उपयोग करने वाले ब्राउज़र के बारे में जानकारी चाहते हैं, और उपयोगकर्ता के लिए आंकड़े या जानकारी प्रदर्शित करने के लिए इसका उपयोग करते हैं, तो आप jQuery Browser Plugin का उपयोग कर सकते हैं।

यह आप जावास्क्रिप्ट में एक वस्तु जानकारी ब्राउज़र के बारे में सब इस्तेमाल किया जा रहा है, जो देता है।

ब्राउज़र का पता लगाने के बजाय do feature detection करने के लिए सुनिश्चित करें जब आप,, bugfixes लागू आदि

पहिया बदलने की कोई जरूरत नहीं है अगर एक निश्चित सुविधा के लिए एक ब्राउज़र में उपलब्ध है निर्धारित करने के लिए चाहते हैं।

+0

jQuery ब्राउज़र प्लगइन की तरह दिखता है मेरी स्थिति सबसे उपयुक्त है। सुविधा पहचान के बारे में जानकारी के लिए धन्यवाद। – Arjun

7

दृष्टिकोण 1:
नोट: JQuery 1.3 के बाद से , jQuery.browser बहिष्कृत है

इस प्रयास करें:

<!DOCTYPE html> 
<html> 
<head> 
<style> 
p { color:green; font-weight:bolder; margin:3px 0 0 10px; } 
div { color:blue; margin-left:20px; font-size:14px; } 
span { color:red; } 
</style> 
<script src="http://code.jquery.com/jquery-latest.js"></script> 
</head> 
<body> 

<p>Browser info: (key : value)</p> 

<script> 
    jQuery.each(jQuery.browser, function(i, val) { 
    $("<div>" + i + " : <span>" + val + "</span>") 
       .appendTo(document.body); 
    });</script> 

</body> 
</html> 

दृष्टिकोण 2:

 

// A quick solution without using regexp (to speed up a little). 
var userAgent = navigator.userAgent.toString().toLowerCase(); 
if ((userAgent.indexOf('safari') != -1) && !(userAgent.indexOf('chrome') != -1)) { 
alert('We should be on Safari only!'); 
} 
 
+2

और एक सुविधाजनक जेएसफ़िल्ड के रूप में: http://jsfiddle.net/dZs7D/ – configurator

+0

जब मैं क्रोम में इस प्रोग्राम को चलाता हूं, तो निम्न परिणाम होते हैं: ब्राउज़र जानकारी: (कुंजी: मान) वेबकिट: सत्य संस्करण: 534.7 सफारी: सच – Arjun

+0

क्या बी/डब्ल्यू क्रोम और सफारी को अलग करने का कोई तरीका है? – Arjun

1

$.browser के बाद से jQuery 1.9 में निकाल दिया जाता है, इस का उपयोग करें:

// ---------------------------------------------------------- 
// A short snippet for detecting versions of IE in JavaScript 
// without resorting to user-agent sniffing 
// ---------------------------------------------------------- 
// If you're not in IE (or IE version is less than 5) then: 
//  ie === undefined 
// If you're in IE (>=5) then you can determine which version: 
//  ie === 7; // IE7 
// Thus, to detect IE: 
//  if (ie) {} 
// And to detect the version: 
//  ie === 6 // IE6 
//  ie > 7 // IE8, IE9 ... 
//  ie < 9 // Anything less than IE9 
// ---------------------------------------------------------- 

// UPDATE: Now using Live NodeList idea from @jdalton 

var ie = (function(){ 

    var undef, 
     v = 3, 
     div = document.createElement('div'), 
     all = div.getElementsByTagName('i'); 

    while (
     div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->', 
     all[0] 
    ); 

    return v > 4 ? v : undef; 

}()); 
+0

आईई के लिए थोड़ा सा विशिष्ट। – Stephan

+0

@Alex उपयोगकर्ता एजेंट स्नीफिंग से अभी भी अधिक विश्वसनीय है। – Johan

+0

क्या आप अन्य प्रमुख ब्राउज़रों के लिए ब्राउज़र पहचान के साथ अपना उत्तर पूरा कर सकते हैं? – Stephan