क्या आईएफआरएएम की ऑनलोड घटना आग लगती है जब एचटीएमएल पूरी तरह से डाउनलोड हो जाता है, या केवल तभी जब सभी आश्रित तत्व लोड होते हैं? (सीएसएस/जेएस/आईएमजी)एक आईएफआरएएम ऑनलोड घटना कब ठीक है?
उत्तर
उत्तरार्द्ध: <body onload=
केवल तभी आग लगती है जब सभी आश्रित तत्व (सीएसएस/जेएस/आईएमजी) भी लोड हो चुके हैं।
आप जब एचटीएमएल लोड किया गया है जावा स्क्रिप्ट कोड को चलाने के लिए चाहते हैं, अपने HTML के अंत में ऐसा करते हैं:
<script>alert('HTML loaded.')</script></body></html>
यहाँ लोड और तैयार के बीच अंतर के बारे में relevant e-mail thread (है jQuery दोनों का समर्थन करता है)।
मुझे लगता है कि यह मुख्य दस्तावेज़ के लिए भी सच है, न केवल iframes के लिए? – MatrixFrog
बस जब एचटीएमएल लोड होता है, निर्भर तत्व नहीं। (या तो मुझे लगता है)।
सक्रिय करने के लिए जब शेष पृष्ठ लोड होने करना jQuery (विंडो) .load (function() {या onready दस्तावेज़ नहीं window.onload।
तुम भी अगर एक छवि तत्व लोड किया जाता है देखने के लिए जाँच कर सकते हैं और वहाँ ... अगर छवि। load-- आदि
ऊपर जवाब (ऑनलोड घटना का प्रयोग करके) सही है, लेकिन कुछ मामलों में यह गलत व्यवहार करने के लिए जब गतिशील वेब सामग्री के लिए एक प्रिंट टेम्पलेट पैदा करने लगता है। विशेष रूप से।
मैं एक गतिशील iframe बनाकर और इसे प्रिंट करके एक पृष्ठ की कुछ सामग्री मुद्रित करने का प्रयास करता हूं। अगर इसमें छवियां हैं तो मैं इसे आग में नहीं ले सकता एन छवियों को लोड कर रहे हैं। यह हमेशा बहुत जल्दी जब चित्र अभी भी एक अधूरा प्रिंट में जिसके परिणामस्वरूप लोड कर रहे हैं आग:
function printElement(jqElement){
if (!$("#printframe").length){
$("body").append('<iframe id="printframe" name="printframe" style="height: 0px; width: 0px; position: absolute" />');
}
var printframe = $("#printframe")[0].contentWindow;
printframe.document.open();
printframe.document.write('<html><head></head><body onload="window.focus(); window.print()">');
printframe.document.write(jqElement[0].innerHTML);
printframe.document.write('</body></html>');
// printframe.document.body.onload = function(){
// printframe.focus();
// printframe.print();
// };
printframe.document.close();
// printframe.focus();
// printframe.print();
// printframe.document.body.onload = function()...
}
के रूप में आप देख सकते हैं मैं कई तरीकों से बाहर करने की कोशिश की ऑनलोड हैंडलर बाध्य करने के लिए ... किसी भी मामले में यह बहुत जल्दी सक्रिय होगा में। मुझे पता है कि ब्राउज़र प्रिंट पूर्वावलोकन (गूगल क्रोम) में टूटी हुई छवियां हैं। जब मैं प्रिंट रद्द करता हूं और फिर से कार्य करता हूं (छवियों को अब कैश किया जाता है) प्रिंट पूर्वावलोकन ठीक है।
... सौभाग्य से मुझे एक समाधान मिला। सुंदर लेकिन उपयुक्त नहीं है। यह क्या करता है कि यह 'img' टैग के लिए subtree स्कैन करता है और उन की 'पूर्ण' स्थिति की जांच करता है। यदि अपूर्ण है तो यह 250ms के बाद एक रिकैक में देरी हो जाती है।
function delayUntilImgComplete(element, func){
var images = element.find('img');
var complete = true;
$.each(images, function(index, image){
if (!image.complete) complete = false;
});
if (complete) func();
else setTimeout(function(){
delayUntilImgComplete(element, func);}
, 250);
}
function printElement(jqElement){
delayUntilImgComplete(jqElement, function(){
if (!$("#printframe").length){
$("body").append('<iframe id="printframe" name="printframe" style="height: 0px; width: 0px; position: absolute" />');
}
var printframe = $("#printframe")[0].contentWindow;
printframe.document.open();
printframe.document.write(jqElement[0].innerHTML);
printframe.document.close();
printframe.focus();
printframe.print();
});
}
यह बहुत उपयोगी थाक्स – kofifus
- 1. आईएफआरएएम
- 2. एक आईएफआरएएम एंड्रॉइड
- 3. Weinre जेएस एपीआई ऑनलोड/तैयार घटना
- 4. जावास्क्रिप्ट छवि वस्तु - संभाल ऑनलोड घटना
- 5. जावास्क्रिप्ट: "ऑनलोड = फ़ंक्शन() {}" से अलग "फ़ंक्शन ऑनलोड() {}" कैसे है?
- 6. क्या एचटीएमएल टैग ऑनलोड जावास्क्रिप्ट घटना का समर्थन करते हैं?
- 7. अंतर है, ऑनलोड और $ (document) .ready()
- 8. आईओएस 5 सफारी और आईएफआरएएम तत्व
- 9. अमेज़ॅन एस 3 पोस्ट, घटना कब हुई?
- 10. ऑनलोड फ़ंक्शन
- 11. एएसपी.नेट एमवीसी घटना जो कार्रवाई से ठीक पहले होती है?
- 12. सर्वर द्वारा बनाई गई घटना कब मर जाती है?
- 13. एरलांग फ़ंक्शन कब ठीक होना चाहिए?
- 14. "पूर्ण" यूनिट परीक्षणों को बदलने के लिए कब ठीक है?
- 15. अंतर ऑनइन और ऑनलोड?
- 16. jQuery - फायर चेंज इवेंट ऑनलोड
- 17. jQuery ऑनलोड समारोह
- 18. ठीक है एक पॉइंटर जारी करने के लिए ठीक है?
- 19. जावास्क्रिप्ट: ऑनफ्रेश या ऑनलोड?
- 20. जावास्क्रिप्ट ऑनलोड ईवेंट
- 21. जावास्क्रिप्ट छवि ऑनलोड ईवेंट बाइंडिंग
- 22. पेज_लोड बनाम ऑनलोड
- 23. एचटीएमएल 5 ऑडियो ऑनलोड
- 24. फ़ायरफ़ॉक्स एक्सटेंशन। ऑनलोड ईवेंट कैसे पकड़ें?
- 25. जावास्क्रिप्ट पॉपअप विंडो को ऑनलोड जोड़कर
- 26. jQuery ऑनलोड - .load() - घटना गतिशील रूप से लोड किए गए आईफ्रेम
- 27. एक ConcurrentSkipListSet कब उपयोगी है?
- 28. फ़ाइल कब एक फ़ाइल है?
- 29. एक एपीआई overengineered कब है?
- 30. ModalPopupExtender ठीक बटन घटना पर क्लिक नहीं फायरिंग?
जब भी आप इंटरनेट एक्सप्लोरर का उपयोग नहीं कर रहे हैं, तब वह आग लगती है। – Tortoise
जब आप iDevice का उपयोग नहीं कर रहे हैं, तो यह सभी तत्वों को लोड होने पर आग लग जाता है। – NoBugs
@tortoise: मुझे मुस्कान बनाने के लिए धन्यवाद। – ling