कैसे जांचें कि jQuery का कौन सा संस्करण लोड किया गया है?


466

मैं कैसे जाँचूँ कि jQuery का कौन सा संस्करण क्लाइंट मशीन पर लोड है? क्लाइंट के पास jQuery लोड हो सकता है लेकिन मुझे नहीं पता कि इसे कैसे जांचना है। अगर उन्होंने इसे लोड किया है तो मैं संस्करण और उपसर्ग की जांच कैसे करूं:

$('.class')
JQuery('.class')

2
यदि आपने इसे डाउनलोड करने के लिए फ़ाइल के रूप में शामिल किया है तो क्लाइंट के पास jQuery लोड हो सकता है। क्या समस्या है, बिल्कुल?
जारेड फरिश

1
Dunno के बारे में कि ओपी को इसके लिए क्या चाहिए, लेकिन अगर आप एक स्क्रिप्ट या प्लगइन बना रहे हैं जिसके लिए jQuery की आवश्यकता होती है, तो आप जाँच कर सकते हैं और एक त्रुटि हो सकती है अगर यह या बहुत पुराना संस्करण नहीं है।
JJJ

जवाबों:


900
if (typeof jQuery != 'undefined') {  
    // jQuery is loaded => print the version
    alert(jQuery.fn.jquery);
}

29
वर्तमान में लोड किए गए jquery संस्करण की जांच करने के 2 तरीके हैं: jQuery.fn.jqueryऔर jQuery().jquery(शॉर्टहैंड:) $.fn.jquery $().jquery। मैंने इसके बारे में jquery स्रोत कोड के लिंक के साथ विवरण में लिखा था यदि आप गहरी खुदाई करना चाहते हैं।
उज्बोन

3
और भी सरल संस्करण if (window.jQuery) { // jQuery is loaded => print the version alert(jQuery.fn.jquery); }
आशेरार्ड

6
अपरिभाषित के लिए चेक होना चाहिए!==
प्लंकेगुई

1
नोट लोअरकेस :)
रेड मटर

2
उपयोग न करें jQuery().jquery। यह कुछ भी नहीं के लिए एक jQuery वस्तु बनाता है, बस जवाब क्या कहता है का उपयोग करें।

30

आप देख सकते हैं कि jQueryवस्तु मौजूद है या नहीं:

if( typeof jQuery !== 'undefined' ) ... // jQuery loaded

jQuery().jquery संस्करण संख्या है।

उपसर्ग के लिए, jQueryहमेशा काम करना चाहिए। यदि आप उपयोग करना चाहते हैं तो आप $अपने कोड को किसी फ़ंक्शन में लपेट सकते हैं और jQueryइसे पैरामीटर के रूप में पास कर सकते हैं:

(function( $ ) {
    $( '.class' ).doSomething();  // works always
})( jQuery )

3
if( jQuery )एक अपवाद फेंक देंगे अगर jQueryअज्ञात है और यह काम नहीं करेगा।
डारिन दिमित्रोव

शायद इसमें लपेटो try {...}catch(e){...}?
आकाश

2
उपयोग न करें jQuery().jquery। यह कुछ भी नहीं के लिए एक jQuery वस्तु बनाता है। (एक अन्य जवाब से टिप्पणी की नकल)
törzsmókus

19
$.fn.jquery
// If there is concern that there may be multiple implementations of `$` then:
jQuery.fn.jquery

यदि आपको एक संस्करण संख्या वापस मिलती है - आमतौर पर एक स्ट्रिंग के रूप में - तो jQuery लोड किया जाता है और यही वह संस्करण है जिसके साथ आप काम कर रहे हैं। यदि लोड नहीं हुआ है तो आपको वापस जाना चाहिए undefinedया शायद एक त्रुटि भी।

बहुत पुराना सवाल है और मैंने कुछ लोगों को देखा है जो टिप्पणियों में मेरे उत्तर का उल्लेख कर चुके हैं। हालांकि, मुझे लगता है कि कभी-कभी महान उत्तर जो टिप्पणियों के रूप में छोड़ दिए जाते हैं, किसी का ध्यान नहीं जा सकता है; विशेष रूप से जब एक जवाब के लिए बहुत सारी टिप्पणियाँ होती हैं तो आप खुद को उनमें से किसी एक मणि की तलाश में खुदाई करते हुए पा सकते हैं। उम्मीद है कि यह किसी को मदद करता है!


1
@ जानार नहीं, यह बिल्कुल समान नहीं है। इसके विपरीत, आईएमओ में जटिल।
Rockin4Life33 16

18

… सिर्फ इसलिए कि इस विधि का अब तक उल्लेख नहीं किया गया है - कंसोल खोलें और टाइप करें:

$ === jQuery

जैसा कि @ ज़ुहान ने बताया है $().jqueryकि संस्करण संख्या वापस आ जाएगी


कुछ इस तरह($ === jQuery)?$().jquery:'no jquery';
UslesssCat

1
ओपी ने लोड किए गए संस्करण की जांच करने के लिए कहा। इस सवाल का जवाब नहीं है।
अकीरा यामामोटो

16

मुझे पता चला है कि यह सबसे छोटा और सरल तरीका है कि जाँच करें कि क्या jQuery लोड किया गया है:

if (window.jQuery) {
    // jQuery is available.

    // Print the jQuery version, e.g. "1.0.0":
    console.log(window.jQuery.fn.jquery);
}

इस विधि का उपयोग http://html5boilerplate.com और अन्य द्वारा किया जाता है ।


@AndreFigueiredo मैंने यह सुनिश्चित करने के लिए कि jQuery लोड होने के बाद, संस्करण संख्या प्राप्त करने के लिए उत्तर को संपादित किया।
मार्कस अमलाथिया मैग्नुस

5

मेरी प्राथमिकता है:

console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded")

परिणाम:

jQuery 1.8.0 लोड किया गया


मुझे मिलता है: अपरिभाषित
जो एल।

यह थोड़ा बेहतर है, लेकिन ऐप पर काम करते समय लॉगिंग उतना उपयोगी नहीं है। आप पहले एक चर को बचाने के लिए बेहतर हैं। let has$ = typeof jQuery === 'function'; console.log('jQuery' + (has$ ? ` version ${jQuery.fn.jquery} loaded.` : ' is not loaded.'));

3

आपको वास्तव में IE के लिए एक कोशिश / कैच ब्लॉक में इसे लपेटना चाहिए:

// Ensure jquery is loaded -- syntaxed for IE compatibility
try
{
    var jqueryIsLoaded=jQuery;
    jQueryIsLoaded=true;
}
catch(err)
{
    var jQueryIsLoaded=false;
}
if(jQueryIsLoaded)
{
    $(function(){
        /** site level jquery code here **/
    });
}
else
{
    // Jquery not loaded
}

IE संभाल नहीं है typeof jQuery != 'undefined'? क्या यह हर IE या सिर्फ बड़े लोगों के लिए सच है?
JJJ

बहुत यकीन है कि यह विरासत संस्करणों के लिए है। फिर भी एक बड़े राजभाषा की तुलना में अधिक शर्मनाक 'जेएस त्रुटि आपके पृष्ठ को काम करने से रोकती है, भले ही यह ब्राउज़र की गलती हो;)
एलियनवेब्यूगी

इससे वास्तव में मुझे बहुत मदद मिली है। मैं फ़ायरफ़ॉक्स और IE में सटीक व्यवहार प्राप्त करने के लिए संघर्ष कर रहा था, यह जांचने के लिए कि क्या jQuery लोड किया गया है या WatiN का उपयोग नहीं कर रहा है। अब इस समाधान के साथ, मैं बहुत खुश हूं। आपका धन्यवाद!
रहुलम


1

डेवलपर के टूल> कंसोल पर जाएं और निम्न कमांड में से एक लिखें jQuery.fn.jquery console.log(jQuery().jquery);



-2
if (jQuery){
   //jquery loaded
}

.....


1
कुछ अन्य पुस्तकालय उपयोग करते हैं $
जारेड फरिश

2
यदि वे प्रोटोटाइप का उपयोग कर रहे हैं तो क्या होगा? या कुछ और जो उपयोग करता है $? यह jQuery के लिए अद्वितीय नहीं है।
जेजे

क्या होगा अगर jQueryलोड नहीं है? (यह फेंक देंगे ReferenceError) a । उपर्युक्त उत्तर सही है, और इसीलिए लोग आपके उत्तर के लिए मतदान कर रहे हैं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.