2012-12-21 8 views
8

मैं एक वर्डप्रेस साइट पर काम कर रहा हूं जिसमें कई jQuery और jQuery UI- निर्भर प्लगइन्स हैं। सबकुछ ठीक काम कर रहा था, लेकिन जब हम पूरी साइट पर नए डोमेन नाम पर चले गए, तो मैंने क्रोम कंसोल में निम्न त्रुटि को देखना शुरू कर दिया:jQuery विजेट में कोई तरीका नहीं है "विस्तार"

असहज टाइपर: ऑब्जेक्ट फ़ंक्शन (बी, सी, डी) {var ई = b.split ("।") [0], च, बी = b.split ("।") [1], च = ई + "-" + बी, डी || (घ = सी, सी = एक .Widget), a.expr [ ":"] [च] = समारोह (ग) {वापसी !! a.data (ग, ख)} के लिए, [ई] = एक [ई] || {}, एक [ ई] [बी] = समारोह (ए, बी) {तर्क। लम्बाई & & यह ._createWidget (ए, बी)}; var जी = नया सी; g.options = a.extend (! 0, {}, जी। विकल्प), एक [ई] [ख] .prototype = a.extend (0, जी, {नाम स्थान: ई, widgetName: ख, widgetEventPrefix: एक [ई] [ख] .prototype.widgetEventPrefix || ख, widgetBaseClass: एफ}, डी), a.widget.bridge (बी, ए [ई] [बी])} में कोई तरीका 'विस्तार'

यहां jQuery UI 1.9.3 की रेखा है जो बी ई कारण:

this.options = $.widget.extend({}, 
this.options, 
this._getCreateOptions(), 
options); 

मुझे यह सब ठीक नहीं लग रहा है, इससे कोई फर्क नहीं पड़ता कि मैंने क्या करने की कोशिश की। मैं wp_enqueue_script() का उपयोग करके स्क्रिप्ट जोड़ने के लिए उचित विधि (या इसलिए मैंने पढ़ा है) jquery-ui की निर्भरता के रूप में jquery को सेट करने और HTML को देखने के लिए, jQuery वास्तव में jQuery UI से पहले लोड हो रहा है।

अगर किसी को यह पता चल जाए कि क्या हो रहा है, तो मैं वास्तव में इसकी सराहना करता हूं, यह मुझे पागल कर रहा है।

+0

क्या सभी फाइलें सही तरीके से लोड हो रही हैं? – epascarello

+0

jqueryui.js की किस पंक्ति पर हो रहा है? –

+0

मैं एक लाइव उदाहरण देखने में मददगार होगा। – Batfan

उत्तर

7

यह आपकी समस्या का उत्तर नहीं है, लेकिन उदाहरण के लिए, कभी-कभी ऐसा लगता है कि आपको एक jQuery त्रुटि हो रही है जब आपको वास्तव में आपके कस्टम जावास्क्रिप्ट में कोई त्रुटि हो रही है।

यदि आप क्रोम का उपयोग कर रहे हैं, तो आप कंसोल (टूल्स> जावास्क्रिप्ट कंसोल) खोल सकते हैं और अपनी त्रुटि पर छोटे तीर को घुमा सकते हैं। यह आपको कोड की सभी पंक्तियां दिखाएगा जो त्रुटि उत्पन्न करते हैं।

छवि देखें:

Use the console to find the line error

अक्सर अगर आप इस सूची में नीचे देखो यह jQuery तुलना में एक और जावास्क्रिप्ट अन्य को बढ़ावा मिलेगा। यदि आप दाईं ओर काले लिंक पर क्लिक करते हैं (यानी activity.php) तो यह जावास्क्रिप्ट होने पर आपत्तिजनक रेखाएं खुल जाएगा।

एक और समस्या (यदि आप वर्डप्रेस का उपयोग कर रहे हैं) यह है कि आप दो बार jQuery लोड कर रहे हैं। ऐसा लगता है जैसे आपने इसे सही तरीके से किया है, हालांकि, यह संभव है कि आपके प्लगइन में से कोई एक नहीं था।

संपादित jQuery का कौन-सा संस्करण चल रहा है (खेद पढ़ने में भूलना jQuery ui)

प्रलेखन से: निंजा फार्म jQuery (जावास्क्रिप्ट पुस्तकालय) है कि वर्डप्रेस के साथ पैक आता है के संस्करण का उपयोग करता। इसका अर्थ यह है कि यदि आप बाहरी jQuery फ़ाइल का उपयोग कर रहे हैं, या कोई अन्य प्लगइन jQuery का अपना संस्करण लोड कर रहा है, तो त्रुटियां उत्पन्न हो सकती हैं। उदाहरण के लिए, यदि आप वर्डप्रेस संस्करण 3.3 या उच्चतर का उपयोग कर रहे हैं, तो निंजा फॉर्म अपेक्षा करता है कि आपकी साइट में jQuery का संस्करण 1.7 होगा। यदि आपके पास थीम या प्लगइन है जो इसे jQuery के पुराने संस्करण में बदलता है, तो निंजा फॉर्म ठीक से काम नहीं कर सकता है।

+1

मुझे पता है कि यह बहुत अधिक मदद नहीं करता है, लेकिन यहां त्रुटि का स्टैक ट्रेस है: http://i.imgur.com/ohYGJ.png जाहिर है निंजा फॉर्म लाइब्रेरी अपराधी प्रतीत होता है, लेकिन वह रेखा कारण त्रुटि गलत या कुछ भी नहीं दिखता है (और फ़ाइलों को स्थानांतरित होने के बाद से यह बदला नहीं गया था)। –

+0

यह निंजा-रूपों में प्रदर्शित है: $ ("# ninja_form_overlay")। संवाद ({ऊंचाई: 200, ऑटो ओपन: झूठी, मोडल: सत्य}); –

+0

हाँ, उसने ऐसा किया। मैं मैन्युअल रूप से उन पुस्तकालयों के नए संस्करण लोड कर रहा था और किसी कारण से निंजा फॉर्म पहले ठीक काम करता था, लेकिन मुझे लगता है कि प्लगइन अपडेट किया गया था और यह गलत हो गया होगा। मैंने उन मैन्युअल भार विवरणों को हटा दिया जो इसे शामिल पुस्तकालयों का उपयोग करने के लिए मजबूर कर रहे थे और सबकुछ सामान्य हो गया। धन्यवाद! –

संबंधित मुद्दे