2013-05-13 3 views
10

0xके रूप में काम नहीं कर रहा है। मैं ऐसी किसी चीज में भाग गया जिसने आज मेरी संपत्ति पाइपलाइन में लोड किए गए फ़ंक्शन का हिस्सा निकालने की अपेक्षा नहीं की थी, लेकिन कुछ ए/के लिए आंशिक रूप से निकालने की आवश्यकता थी। बी परीक्षण।

मैं पृष्ठ पर एक पूर्ण-स्क्रीन वीडियो लोड करने के लिए bigVideo.js लाइब्रेरी का उपयोग कर रहा हूं। BigVideo.js ने आंशिक रूप से कोड निकालने पर आज गलत आयाम लोड करना शुरू कर दिया। मेरे बाकी जावास्क्रिप्ट संपत्तियों के नीचे आंशिक भार।

मेरे पास पहले मेरी सामान्य संपत्ति पाइपलाइन के अंदर एक अज्ञात फ़ंक्शन में कोड शामिल था।

मूल कोड (कार्य)

$(function() { 
    (function() { 
    var bgVid = new $.BigVideo({useFlashForFirefox: false}) 
    bgVid.show('http://videourl.com', { ambient : true }); 
    }(); 
}); 

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

$(function() { 
    var initVid = function() { 
    var bgVid = new $.BigVideo({useFlashForFirefox: false}) 
    bgVid.show('http://videourl.com', { ambient : true }); 
    }; 
आंशिक में

:

$(function() { 
    initVid(); 
}); 

यह देखा की तरह कुछ, डोम आयाम पूरी तरह से लोड नहीं के साथ चल रहा था तो मैंने कोशिश की कुछ इस तरह के समारोह स्विचिंग: आंशिक में

:

$(window).load(function() { 
    var bgVid = new $.BigVideo({useFlashForFirefox: false}); 
    bgVid.show('http://videourl.com', { ambient : true }); 
}); 

अभी भी कोई भाग्य नहीं है।

अंत में, मैं window.onload

window.onload = function() { 
    var bgVid = new $.BigVideo({useFlashForFirefox: false}) 
    bgVid.show('http://videourl.com', { ambient : true }); 
}; 

यह काम करता है का उपयोग कर का सहारा लिया ?! तो खिड़की के दौरान $ (खिड़की) लोड क्यों विफल रहा है। लोड ठीक काम कर रहा है?

+1

क्या आपने '$ (दस्तावेज़) .ready (function() {})' या '$ (विंडो) .ready (function() {})'? – Nope

+1

आपने इसे '()' में नहीं रखा है, यह '$ (विंडो) होना चाहिए। लोड (फ़ंक्शन() {});' – vher2

+1

$ (फ़ंक्शन() {}) $ (दस्तावेज़) जैसा ही है। (समारोह(){})। – Paul

उत्तर

17

कई अलग अलग घटनाओं के क्रम में उपयोग कर सकते हैं यकीन है कि डोम होने के लिए कर रहे हैं तैयार है:

$(function(){ ... }); 

$(document).ready(function(){ ... }); 

रूप में ही है और जब HTML दस्तावेज़ भरी हुई है निष्पादित किया जाता है। दूसरी ओर से आप

$(window).load(function() { ... }); 

जो

$(window).on('load', function() { ... }); 

की deprecated बराबर है जो बाद में होता है, जब न केवल HTML दस्तावेज़ भरी हुई है, लेकिन छवियों और शैलियों की तरह भी लिंक किए गए सभी संसाधनों के रूप में अच्छी तरह से उपयोग कर सकते हैं। मतभेदों के बारे में अधिक जानकारी आप here पढ़ सकते हैं।

आधुनिक ब्राउज़रों के लिए document.ondomcontentready का उपयोग करने का विकल्प भी है जो गैर-मानक document.readyjQuery द्वारा जोड़ा गया है।

मेरे लिए, मेरे हाथ में jQuery जैसे टूल होने के बाद, मैं विभिन्न ब्राउज़रों के व्यवहार और घटनाओं के समर्थन की असंगतता से गड़बड़ नहीं करना पसंद करता हूं। बस का उपयोग करें और दो बार मत सोचो।

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