2013-08-01 10 views
13

में अपरिभाषित (Outerlayer) की 'बनाने' तो मैं एक अजीब समस्या यह है कि मैं masonry.js के बारे में कहीं और खोजने के लिए, नहीं कर पा रहे है।मेसनरी.जेएस लोड पर असफल रहा। कॉल नहीं कर सकता Wordpress

मैं the latest (3.10) version मिल गया है और मैं के रूप में तो मेरे वर्डप्रेस विषय के functions.php फ़ाइल में शामिल कर रहा हूँ:

function enqueue() 
{ 
    wp_register_script('masonry', get_stylesheet_directory_uri() . '/js/masonry.js', array('jquery')); 
    wp_enqueue_script('masonry'); 
} 

add_action('wp_enqueue_scripts', 'enqueue'); 

कौन सा स्क्रिप्ट ठीक लोड कर रहा है। यह अब के रूप में, मैं कुछ भी इसके साथ कुछ और नहीं कर रहा हूँ, लेकिन स्क्रिप्ट विफल हो रहा है:

Uncaught TypeError: Cannot call method 'create' of undefined masonry.js?ver=3.5.2:37 

लगता है जैसे कि यह window.Outerlayer पर बनाने के रूप में यह मौजूद नहीं करता है फोन नहीं कर सकते हैं।

यहाँ masonry.js से लाइन 34 पर शुरू, प्रश्न में कोड है:

// used for AMD definition and requires 
function masonryDefinition(Outlayer, getSize) { 
    // create an Outlayer layout class 
    var Masonry = Outlayer.create('masonry'); 

    Masonry.prototype._resetLayout = function() { 
    this.getSize(); 
    this._getMeasurement('columnWidth', 'outerWidth'); 
    this._getMeasurement('gutter', 'outerWidth'); 
    this.measureColumns(); 

    // reset column Y 
    var i = this.cols; 
    this.colYs = []; 
    while (i--) { 
     this.colYs.push(0); 
    } 

    this.maxY = 0; 
    }; 

मैं अलग अलग तरीकों से स्क्रिप्ट enqueueing की कोशिश की है, साथ ही में यह खींच केवल जब $ (दस्तावेज़) .ready() (जो मुझे विश्वास है कि वर्डप्रेस 'enqueue_script वैसे भी करता है?)।

तो, किसी को भी किसी भी विचार क्या समस्या या संघर्ष यहाँ हो सकता है है? या किसी ने भी ऐसा कुछ अनुभव किया है?

(मैं jQuery 1.83 उपयोग कर रहा हूँ, हालांकि चिनाई साइट के अनुसार jQuery आवश्यकता नहीं होनी चाहिए।)

+0

मुझे यह वही समस्या है - क्या आपने इसे कभी हल किया है? – timshutes

+0

@timshutes अभी वास्तव में, ऐसा लगता है कि यदि आप दोनों स्क्रिप्ट और कोड को सीधे टेम्पलेट में निष्पादित करने के लिए कोड शामिल करते हैं, यानी: वर्डप्रेस enqueue_script के साथ नहीं। मैं इसे थोड़ा और आगे देखने जा रहा हूं और देख सकता हूं कि मैं * क्यों * यह काम कर सकता हूं। लेकिन अब इसे आज़माएं। – josh

+0

मैंने इसके साथ हमेशा के लिए खेला। एक अलग पुस्तकालय से एक समारोह में लाइन 37 पर कॉल (जहां आपको त्रुटि मिलती है) पर एक कॉल है। मैं एक पूर्ण उत्तर पोस्ट करने जा रहा हूं और देख सकता हूं कि इससे मदद मिलती है या नहीं। – timshutes

उत्तर

32

मैं इस सटीक समस्या थी। मेरा अनुमान है कि आप github से केवल कच्ची masonry.js फ़ाइल का उपयोग कर रहे हैं। चिनाई के इस संस्करण के लिए कुछ अन्य प्लगइन्स सही ढंग से काम करने की आवश्यकता है।

विशेष रूप से, आप क्योंकि आप Outlayer स्थापित नहीं है, इस त्रुटि हो रही है। यदि आप सिर्फ चिनाई और दौड़ने की तलाश में हैं, तो आपको masonry website here. से पूर्ण उत्पादन पैकेज लेना चाहिए इसमें आवश्यक प्लगइन्स शामिल हैं।

आशा है कि इससे मदद मिलती है!

+1

कि * है * क्या चल रहा था। धन्यवाद – josh

+0

हाँ, मेरे लिए भी वही। धन्यवाद! – Astrotim

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