2009-12-22 14 views
20
$(window).load(function() { 
    if($.browser.msie && $.browser.version=="6.0") { 
    // do stuff 
    } 
}); 

बस एहसास हुआ कि $ .ब्रोसर को 1.3 में गिरा दिया गया है। आईई, विशेष रूप से आईई 6 का पता लगाने के लिए नई विधि क्या है।jQuery का उपयोग कर आईई का पता लगाने

+2

'jQuery.browser' को बहिष्कृत नहीं किया गया है।यद्यपि यह अब jQuery द्वारा आंतरिक रूप से उपयोग नहीं किया जाता है, यह अनिश्चितकालीन भविष्य के लिए उपयोगकर्ता स्क्रिप्ट के लिए उपलब्ध है: http://docs.jquery.com/Utilities/jQuery.browser –

+0

प्रलेखन कहता है "jQuery 1.3 में बहिष्कृत (देखें 'jQuery.support') उपयोगकर्ता के ब्राउज़र के लिए प्रतिपादन इंजन का संस्करण संख्या। "। – kiamlaluno

+1

* फीचर डिटेक्शन * ब्राउजर स्नीफिंग * से काफी बेहतर है, जब आप आईई 6 द्वारा अपना पेज प्रस्तुत करते हैं तो आप क्या हासिल करने की कोशिश कर रहे हैं? – CMS

उत्तर

19

jQuery documentation for jQuery.browser निम्नलिखित चेतावनी दिखाता है। (जोर मेरा है।)

क्योंकि $.browsernavigator.userAgent का उपयोग करता है मंच निर्धारित करने के लिए, यह उपयोगकर्ता या गलत बयानी ब्राउज़र अपने आप में से स्पूफिंग के लिए असुरक्षित है। ब्राउज़र-विशिष्ट कोड को पूरी तरह से से कहीं भी बचाना हमेशा सर्वोत्तम होता है। $.browser पर भरोसा करने के बजाय Modernizr जैसे पुस्तकालयों का उपयोग करना बेहतर है।

प्रलेखन पेज भी कहते हैं:

यह गुण jQuery 1.9 में हटा दिया गया था और केवल jQuery.migrate प्लगइन के माध्यम से उपलब्ध है। कृपया इसके बजाय फीचर डिटेक्शन का उपयोग करने का प्रयास करें।

यहां तक ​​कि jQuery.support, पुराने दस्तावेज से सुझाए गए सुझावों में निम्नलिखित चेतावनी है। (जोर मेरा है।)

विभिन्न ब्राउज़र सुविधाओं या बग की उपस्थिति का प्रतिनिधित्व करने वाले गुणों का संग्रह। jQuery के आंतरिक उपयोग के लिए इरादा; पेज स्टार्टअप प्रदर्शन को बेहतर बनाने के लिए आंतरिक रूप से अब आवश्यक होने पर विशिष्ट गुणों को हटाया जा सकता है। अपने स्वयं के प्रोजेक्ट की फीचर-डिटेक्शन की ज़रूरतों के लिए, हम में गुणों पर निर्भरता के बजाय Modernizr जैसे बाहरी लाइब्रेरी के उपयोग की दृढ़ता से अनुशंसा करते हैं।

jQuery.support के लिए पिछले दस्तावेज़ों में निम्नलिखित गुण और मूल्यों की सूचना दी गई है।

  • $.support.boxmodel IE 6 में false है, और 7.
  • $.support.cssFloat IE 6, 7 और 8 के लिए false है; यह आईई 9
  • $.support.leadingWhitespace में true है आईई 6, 7 के लिए false है, और 8.
  • $.support.objectAll आईई 6, 7 के लिए वर्तमान में false है, और 8.
+2

बस इस टिप्पणी को ढूंढने वाले अन्य सभी लोगों के लिए, $ .support.cssFloat आईई 6, 7 और 8 के लिए गलत है। आईई 9 में यह सच है। – Nemke

+0

मुझे पता है कि यह उत्तर पुराना है, लेकिन ब्राउज़र मोड आईई 7 के साथ आईई 9 में डीबगिंग $ .support.boxModel === सच है। शायद ऐसा इसलिए है क्योंकि मैं IE9 में ब्राउज़र मोड का उपयोग कर रहा हूं ?? – kand

6
प्रलेखन से

गर्म: हम इस प्रॉपर्टी का उपयोग करने के खिलाफ अनुशंसा करें, कृपया इसके बजाय फीचर डिटेक्शन का उपयोग करने का प्रयास करें (jQuery.support देखें)।

1

ब्राउज़र सूचना

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

चेतावनी IE के प्रतिपादन इंजन के संस्करण है कि इस्तेमाल किया जा रहा दिखाएं। JQuery 1.9 या बाद में काम नहीं करेगा जब तक कि jQuery माइग्रेट प्लगइन शामिल नहीं है।

if ($.browser.msie) { 
alert($.browser.version); 
} 
संबंधित मुद्दे