परीक्षण यदि jQueryUI लोड किया गया है


129

मैं एक वेबसाइट को डीबग करने की कोशिश कर रहा हूं, और मुझे लगता है कि jQueryUI शायद ठीक से लोड नहीं हुआ है। अगर jQueryUI लोड हो गया है तो मैं कैसे परीक्षण कर सकता हूं?

जवाबों:


243
if (jQuery.ui) {
  // UI loaded
}

या

if (typeof jQuery.ui != 'undefined') {
  // UI loaded
}

चाल चलनी चाहिए


2
मेरी समस्या यह है कि मैं गतिशील रूप से jQuery और jQuery.ui लोड करता हूं। यह कभी-कभी समय में लोड होता है, कभी-कभी नहीं। यदि ui लोड नहीं है, तो मैं किसी भी तरीके को कॉल करने से पहले कैसे इंतजार कर सकता हूं (या इसे लोड करने के लिए मजबूर कर सकता हूं)?
गेब्रियल डियाकोन्सक्यू

17
यकीन नहीं होता है कि इससे बहुत फर्क पड़ता है, लेकिन jQuery के लिए बॉयलरप्लेट के परीक्षण के साथ जाने पर, वे window.jQueryjQuery UI के लिए उपयोग करते हैं मैं परीक्षण का उपयोग करता हूंwindow.jQuery.ui
टिम बी जेम्स

यह मेरे लिए काम नहीं करता है। क्या कोई इस jsfiddle पर नज़र डाल सकता है और मुझे बता सकता है कि क्या मैं कुछ गलत कर रहा हूं। jsfiddle.net/vEvYv/1 मुझे उम्मीद है कि मेरे किसी और बयान को चलाने के लिए क्योंकि मैं jQuery लोड नहीं कर रहा हूं। को छोड़कर, यह पहली पंक्ति में विफल रहता है। अपने ब्राउज़र कंसोल के साथ पेज खोलें खोलें (FF का उपयोग करके) और लाइन देखेंjQuery is not defined
डेव हाई

2
@DaveHaigh - आपने JQuery को लोड नहीं किया है। JQuery यूआई JQuery पर निर्भर करता है।
क्रिस हैन्स

16

आपको यह जाँचने की आवश्यकता है कि दोनों, jQuery UI लाइब्रेरी फ़ाइल और CSS थीम लोड किए जा रहे हैं।

jQuery यूआई jQuery ऑब्जेक्ट पर गुण बनाता है, आप देख सकते हैं:

jQuery.ui
jQuery.ui.version

यह जांचने के लिए कि क्या आवश्यक सीएसएस फ़ाइल लोड की गई है, मैं आपको फायरबग का उपयोग करने की सलाह दूंगा , और सीएसएस टैब पर थीम फाइलों की तलाश करूंगा ।

मैंने पहले समस्याओं को देखा है, जब उपयोगकर्ता jQuery UI लाइब्रेरी को सही ढंग से लोड करते हैं, लेकिन CSS विषय गायब है।


यह जांचने के लिए कि कुछ विशेष कार्यक्षमता भरी हुई है या नहीं, चेक कुछ इस तरह दिखाई देगा (जैसे टूलटिप के लिए) ........................ if( typeof jQuery().tooltip != "undefined" )
jave.web

7

मुझे पता है कि यह एक पुराना सवाल है, लेकिन यहां एक त्वरित छोटी स्क्रिप्ट है जिसका उपयोग आप अपने सभी jQuery यूआई चीजों को लपेटने के लिए कर सकते हैं जिनके पास संबद्ध घटना नहीं है यह सुनिश्चित करने के लिए कि उन्हें केवल jQuery UI लोड होने के बाद निष्पादित किया जाता है:

function checkJqueryUI() {
    if (typeof jQuery.ui != 'undefined') {
        do_jqueryui();
    }
    else {
        window.setTimeout( checkJqueryUI, 50 );
    }
}
// Put all your jQuery UI stuff in this function
function do_jqueryui() {
    // Example:
    $( "#yourId" ).dialog();
}
checkJqueryUI();

3

बस यूआई ऑब्जेक्ट के लिए परीक्षण करें, जैसे

<script src="jquery.js"></script>
<script src="jquery-ui.js"></script>
<script>
  $(function(){
    // did the UI load?
    console.log(jQuery.ui);
  });
</script>

1

आप जाँच सकते हैं कि क्या jQuery UI लोड किया गया है या नहीं जैसे कि कई तरीकों से:

if (typeof jQuery.ui == 'undefined') {
   // jQuery UI IS NOT loaded, do stuff here.
}

या

if (typeof jQuery.ui != 'function') {
    // jQuery UI IS NOT loaded, do stuff here.
}

या

if (jQuery.ui) {
    // This will throw an error in STRICT MODE if jQuery UI is not loaded, so don't use if using strict mode
    alert("jquery UI is loaded");
} else {
    alert("Not loaded");
}


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.