Tim Down's answer की पंक्तियों के साथ
लेकिन jQuery
लाभ (ओ पी ने उल्लेख किया) और शिथिल युक्त पेज और iframe युग्मन, आप निम्न कर सकता है:
iframe में:
<script>
$(function() {
var w = window;
if (w.frameElement != null
&& w.frameElement.nodeName === "IFRAME"
&& w.parent.jQuery) {
w.parent.jQuery(w.parent.document).trigger('iframeready');
}
});
</script>
युक्त पेज में:
<script>
function myHandler() {
alert('iframe (almost) loaded');
}
$(document).on('iframeready', myHandler);
</script>
ifra मैं (संभावित रूप से मौजूदा) पैरेंट विंडो के दस्तावेज़ पर एक घटना को आग लगाता हूं - कृपया सावधान रहें कि इस दस्तावेज़ के लिए मूल दस्तावेज़ को स्वयं के jQuery उदाहरण की आवश्यकता है। फिर, पैरेंट विंडो में आप उस ईवेंट पर प्रतिक्रिया करने के लिए एक हैंडलर संलग्न करते हैं।
इस समाधान में ब्रेकिंग का लाभ नहीं है जब युक्त पृष्ठ में अपेक्षित लोड हैंडलर नहीं होता है। आमतौर पर बोलते हुए, यह आसपास के पर्यावरण को जानने के लिए आईफ्रेम की चिंता नहीं होनी चाहिए।
कृपया ध्यान दें, कि हम घटना को आग लगाने के लिए डीओएम तैयार कार्यक्रम का लाभ उठा रहे हैं - जो अधिकांश उपयोग मामलों के लिए उपयुक्त होना चाहिए।कोड के बिना iframe + चेतन में
$(window).on('load', function() { ... });
सेट करने का प्रयास यदि ऐसा नहीं है, बस ईवेंट ट्रिगर लाइन विंडो लोड घटना के लिए तो जैसे देते हैं डीओएम में जोड़ने से पहले आईफ्रेम का स्रोत। यह लोड घटना को दो बार फायरिंग से रोकना चाहिए। – Abe