2013-02-26 42 views
6

सबसे पहले: मुझे पता है कि यदि संभव हो तो चीजों को असीमित रूप से चलाया जाना चाहिए।अगले फ़ंक्शन ट्रिगर होने से पहले लोड करने के लिए iframe के लिए प्रतीक्षा करें?

अनिवार्य रूप से यह एक iframe के रूप में वर्तमान पृष्ठ लोड:

मैं एक समारोह कहा जाता है, चादर की है। लिंक पर क्लिक किए जाने पर भी जावास्क्रिप्ट को चलाने के लिए मुझे इसकी आवश्यकता है।

function wrap(){ 
    event.preventDefault(); 
    var pathname = window.location.pathname; 
    $('body').html('<iframe id="wrapper" src="'+ pathname +'" >') 
    $('iframe').load(function(){ 
      //this is where the magic outght to happen 
    }); 
} 

जब रैप चलाया जाता है, तो मैं आईफ्रेम की सामग्री में हेरफेर करना शुरू करना चाहता हूं। ऐप की संरचना के लिए, मुझे इसे रैप-फ़ंक्शन के ouside से या पैरामीटर के साथ लपेटने वाले पैरामीटर के साथ करना होगा। मैं इसे क्रियाओं की एक श्रृंखला के साथ करता हूं जो एनिमेशन निष्पादित करता है, ध्वनि बजाता है। (सामग्री जो समय लेती है और क्रमशः निष्पादित भी की जानी चाहिए)। यह वही है जो मैं आदर्श रूप से ऐसा दिखाना पसंद करूंगा।

wrap(); 
highlight('#one'); 
highlight('#two'); 

उत्तर

7

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

$("iframe").ready(function(){ 
    // do something once the iframe is loaded 
}); 
+3

असल में लोड किया गया था, रीडे-फ़ंक्शन आईफ्रेम पर काम नहीं करता है, हालांकि लोड-फ़ंक्शन में कॉलबैक फ़ंक्शन भी है, इसलिए आपका समग्र-एपोरैच काम करेगा! – Himmators

+0

एकाधिक iframes लोड होने के बाद तक प्रतीक्षा करने के बारे में क्या? – jbyrd

+0

तैयार फ़ंक्शन iframes पर काम नहीं करता है। डीओएम पूरी तरह से लोड होने के बाद कॉलबैक निष्पादित करना है। कहने के लिए, JQuery .ready (हैंडलर) फ़ंक्शन को कॉल करने के स्थान पर $ (हैंडलर) वाक्यविन्यास का उपयोग करने की सिफारिश करता है। https://api.jquery.com/ready/ – MorgoZ

-4

आप एक समारोह बना सकते हैं:

function iframeready() { 
    // code after iframe is loaded 
} 

और iframe लोड घटना की एक कॉलबैक के रूप में इस समारोह भेजेंगे, ताकि इस तरह से अपने कोड निष्पादित होगा के बाद आइफ्रेम

+1

अपने प्रश्न के लिए पूरी तरह से अप्रासंगिक। वह उस आईफ्रेम लोड इवेंट के बारे में पूछ रहा था जिसका आप उल्लेख करते हैं ... मुझे लगता है कि वह जानता है कि एक समारोह कैसे घोषित किया जाए – ied3vil

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

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