दिलचस्प पोस्ट
कैसे jQuery के साथ डिफ़ॉल्ट लिंक क्लिक व्यवहार को रोकने के लिए कैसे IEqualityComparer का उपयोग करें एंकर और उपनामों को नष्ट किए बिना YAML फ़ाइलों को पढ़ें और लिखें? POST डेटा भेजने के लिए उपयोगकर्ता को संकेत दिए बिना पोस्ट के बाद ब्राउज़र विंडो को पुनः लोड करें MySQL करने के लिए SQL सर्वर डेटाबेस निर्यात करने के लिए कैसे? स्विफ्ट में "अनवरोधित मूल्य" क्या है? ओपनजीएल ईएस दृश्य में एनीमेशन फ्रीज होता है जब यूआईएसक्रोलएव्यू को iPhone पर खींच लिया जाता है दो तिथियों मोंगोडीबी के बीच ऑब्जेक्ट खोजें केवल फ़ाइल आकार के लिए विंडोज कमांड? जावा में डेस्कटॉप पथ कैसे प्राप्त करें नोडजे अनुरोध डिफ़ॉल्ट समयबाह्य समय को कैसे संशोधित करें? IOS पर मौजूदा SQLite डेटाबेस का उपयोग करें और एक्सेस करें आईआईओ 7 में नीला बटन में UIButton छवि परिणाम सेट करना मैलोक में आकार (* पॉइंटर) का इस्तेमाल करना सुरक्षित क्यों है मैं जावा के लिए सीन बिल्डर का नवीनतम संस्करण कहां डाउनलोड कर सकता हूं?

जावास्क्रिप्ट जो पेज लोड के बाद निष्पादित होता है

मैं एक <script> अंदर <head> का उपयोग करके एक बाहरी स्क्रिप्ट निष्पादित कर रहा हूं।

चूंकि पेज लोड होने से पहले स्क्रिप्ट कार्यान्वित होती है, इसलिए मैं <body> , अन्य बातों के अलावा, तक नहीं पहुंच सकता। दस्तावेज़ "लोड" (HTML पूरी तरह से डाउनलोड किया गया है और इन-रैम) के बाद मैं कुछ जावास्क्रिप्ट निष्पादित करना चाहता हूं। क्या कोई ऐसी घटनाएं हैं जिन पर मैं अपनी स्क्रिप्ट निष्पादित कर सकता हूं, जो पेज लोड पर ट्रिगर हो जाएगा?

Solutions Collecting From Web of "जावास्क्रिप्ट जो पेज लोड के बाद निष्पादित होता है"

ये समाधान काम करेंगे:

 <body onload="script();"> 

या

 document.onload = function ... 

या और भी

 window.onload = function ... 

ध्यान दें कि आखिरी विकल्प जाने का एक बेहतर तरीका है क्योंकि यह अव्यवस्थित है और इसे अधिक मानक माना जाता है ।

उचित रूप से पोर्टेबल, गैर-रूपरेखा का तरीका जिससे आपकी स्क्रिप्ट लोड समय पर चलने के लिए फ़ंक्शन सेट करती है:

 if(window.attachEvent) { window.attachEvent('onload', yourFunctionName); } else { if(window.onload) { var curronload = window.onload; var newonload = function(evt) { curronload(evt); yourFunctionName(evt); }; window.onload = newonload; } else { window.onload = yourFunctionName; } } 

आप शरीर के अंदर एक "ऑनलोड" विशेषता डाल सकते हैं

 ...<body onload="myFunction()">... 

या अगर आप jQuery का प्रयोग कर रहे हैं, तो आप ऐसा कर सकते हैं

 $(document).ready(function(){ /*code here*/ }) or $(window).load(function(){ /*code here*/ }) 

मुझे उम्मीद है कि यह आपके प्रश्न का उत्तर देगा

ध्यान दें कि $ (खिड़की) .लोड आपके पृष्ठ पर दस्तावेज़ के प्रस्तुत होने के बाद निष्पादित होगा।

ध्यान रखें कि पृष्ठ को लोड करना एक से अधिक चरण है। बीटीडब्ल्यू, यह शुद्ध जावास्क्रिप्ट है

"DOMContentLoaded"

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

DOM लोड होने के बाद एक्सक्वेक्स (आईएमजी और सीएसएस से पहले):

 document.addEventListener("DOMContentLoaded", function(){ //.... }); 

नोट: सिंक्रोनस JavaScript डॉम की पार्सिंग रोकता है। यदि आप चाहते हैं कि उपयोगकर्ता DOM को पृष्ठ के अनुरोध के बाद जितनी तेज़ी से पार्स हो सके, आप अपनी जावास्क्रिप्ट अतुल्यकालिक और स्टाइलशीट्स का लोडिंग अनुकूलित कर सकते हैं।

"भार"

एक बहुत ही अलग घटना, लोड , का उपयोग केवल एक पूर्णतः लोड पृष्ठ का पता लगाने के लिए किया जाना चाहिए। यह लोड का उपयोग करने के लिए एक अविश्वसनीय रूप से लोकप्रिय गलती है जहां DOMContentLoaded अधिक उपयुक्त होगा, इसलिए सावधान रहें।

सब कुछ लोड होने और पार्स होने के बाद एक्सक्वेक्स:

 window.addEventListener("load", function(){ // .... }); 

एमडीएन संसाधन:

https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded https://developer.mozilla.org/en-US/docs/Web/Events/load

सभी घटनाओं की एमडीएन सूची:

https://developer.mozilla.org/en-US/docs/Web/Events

यदि स्क्रिप्ट दस्तावेजों के <head> के अंदर लोड किए जाते हैं, तो संभव है कि defer टैग में defer विशेषता का उपयोग करें।

उदाहरण:

 <script src="demo_defer.js" defer></script> 

W3schools से :

परिभाषा और उपयोग defer विशेषता एक बूलियन विशेषता है।

जब वर्तमान में, यह निर्दिष्ट करता है कि पृष्ठ पर पार्सिंग समाप्त हो जाने पर स्क्रिप्ट क्रियान्वित की जाती है।

नोट: स्थगित विशेषता केवल बाह्य स्क्रिप्ट के लिए है (यदि केवल src विशेषता मौजूद है तो उपयोग किया जाना चाहिए)

नोट: एक बाहरी स्क्रिप्ट कार्यान्वित किया जा सकता है कई तरीके हैं:

यदि एसिंक मौजूद है: स्क्रिप्ट को बाकी पृष्ठ के साथ अतुल्यकालिक निष्पादित किया जाता है (पृष्ठ को पार्सिंग चालू करते समय स्क्रिप्ट निष्पादित किया जाएगा) यदि एसिंक मौजूद नहीं है और स्थगित मौजूद है: स्क्रिप्ट निष्पादित हो गई है जब पेज समाप्त हो गया है, तो न तो async या defer मौजूद है: ब्राउज़र पृष्ठ को पार्स करने से पहले स्क्रिप्ट को तुरंत लाया जाता है और निष्पादित होता है

पृष्ठ लोड होने के बाद आस्थगित जेएस लोडिंग के आधार पर यहां एक स्क्रिप्ट है,

 <script type="text/javascript"> function downloadJSAtOnload() { var element = document.createElement("script"); element.src = "deferredfunctions.js"; document.body.appendChild(element); } if (window.addEventListener) window.addEventListener("load", downloadJSAtOnload, false); else if (window.attachEvent) window.attachEvent("onload", downloadJSAtOnload); else window.onload = downloadJSAtOnload; </script> 

मैं इसे कहाँ रखूं?

अपने HTML में </body> टैग से पहले कोड चिपकाएं (अपनी HTML फ़ाइल के निचले भाग के निकट)।

यह क्या करता है?

यह कोड कहता है कि पूरे दस्तावेज़ को लोड करने के लिए प्रतीक्षा करें, फिर बाहरी फ़ाइल deferredfunctions.js लोड करें

यहां पर ऊपर दिए गए कोड का एक उदाहरण है- जेएस के डेफर रेंडरिंग

मैंने इसे जावास्क्रिप्ट पेजपेड गूगल अवधारणा को लोड किए जाने के आधार पर लिखा था और इस लेख से यह भी सोचा गया है कि जावास्क्रिप्ट को लोड करना

document.onload hooking को देखें। डाउनलोड या jQuery $(document).load(...)

सर्वश्रेष्ठ विधि, Google द्वारा भी सुझाए गए 🙂

 <script type="text/javascript"> function downloadJSAtOnload() { var element = document.createElement("script"); element.src = "defer.js"; document.body.appendChild(element); } if (window.addEventListener) window.addEventListener("load", downloadJSAtOnload, false); else if (window.attachEvent) window.attachEvent("onload", downloadJSAtOnload); else window.onload = downloadJSAtOnload; </script> 

http://www.feedthebot.com/pagespeed/defer-loading-javascript.html

कार्य करना बेला

 <!DOCTYPE html> <html> <head> <script> function myFunction() { alert("Page is loaded"); } </script> </head> <body onload="myFunction()"> <h1>Hello World!</h1> </body> </html> 

यदि आप jQuery का प्रयोग कर रहे हैं,

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

के बराबर है

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

JQuery $ फ़ंक्शन () को किस घटना पर दिखता है?

 <body onload="myFunction()"> 

यह कोड अच्छी तरह से काम करता है

लेकिन window.onloadwindow.onload विधि में विभिन्न निर्भरताएं हैं। इसलिए यह हर समय काम नहीं करेगा।

 document.onreadystatechange = function(){ if(document.readyState === 'complete'){ /*code here*/ } } 

यहां देखें: http://msdn.microsoft.com/en-us/library/ie/ms536957(v=vs.85).aspx

बस को परिभाषित करें <body onload="aFunction()"> जिसे पेज लोड हो जाने के बाद कहा जाएगा। स्क्रिप्ट में आपका कोड aFunction() { } द्वारा संलग्न है।

YUI लाइब्रेरी का उपयोग करना (मुझे यह पसंद है):

 YAHOO.util.Event.onDOMReady(function(){ //your code }); 

पोर्टेबल और सुंदर! हालांकि, अगर आप अन्य सामानों के लिए YUI का उपयोग नहीं करते हैं (इसकी डॉक देखें) तो मैं कहूंगा कि इसका उपयोग करने के लिए इसके लायक नहीं है

NB: इस कोड का उपयोग करने के लिए आपको 2 लिपियों को आयात करना होगा

 <script type="text/javascript" src="http://yui.yahooapis.com/2.7.0/build/yahoo/yahoo-min.js" ></script> <script type="text/javascript" src="http://yui.yahooapis.com/2.7.0/build/event/event-min.js" ></script> 

मुझे कभी-कभी अधिक जटिल पृष्ठों पर मिलते हैं, जो कि समय-समय पर सभी तत्व लोड नहीं होते हैं। लोड हो जाता है। यदि ऐसा है, तो अपने कार्य को देरी से पहले सेट-टाइमआउट जोड़ें एक क्षण है। यह सुरुचिपूर्ण नहीं है लेकिन यह एक सरल हैक है जो अच्छी तरह से रेंडर करता है।

 window.onload = function(){ doSomethingCool(); }; 

हो जाता है …

 window.onload = function(){ setTimeout( function(){ doSomethingCool(); }, 1000); }; 

जावास्क्रिप्ट या जेक्जरी का उपयोग करते हुए दस्तावेज लोड किए जाने पर पता लगाने के लिए कैसे एक बहुत अच्छा दस्तावेज है

देशी जावास्क्रिप्ट का उपयोग करके इसे प्राप्त किया जा सकता है

 if (document.readyState === "complete") { init(); } 

यह अंतराल के भीतर भी किया जा सकता है

 var interval = setInterval(function() { if(document.readyState === 'complete') { clearInterval(interval); init(); } }, 100); 

मोज़िला द्वारा उदाहरण

 switch (document.readyState) { case "loading": // The document is still loading. break; case "interactive": // The document has finished loading. We can now access the DOM elements. var span = document.createElement("span"); span.textContent = "A <span> element."; document.body.appendChild(span); break; case "complete": // The page is fully loaded. console.log("Page is loaded completely"); break; } 

Jquery का उपयोग केवल अगर DOM तैयार है तो जांचने के लिए

 // A $( document ).ready() block. $( document ).ready(function() { console.log( "ready!" ); }); 

यह जांचने के लिए कि क्या सभी संसाधनों को लोड किया गया है window.load का उपयोग करें

  $( window ).load(function() { console.log( "window loaded" ); }); 

मेरी सलाह स्क्रिप्ट टैग के लिए asnyc विशेषता का उपयोग करती है जो आपको पेज लोड के बाद बाहरी स्क्रिप्ट लोड करने में मदद करती है

 <script type="text/javascript" src="a.js" async></script> <script type="text/javascript" src="b.js" async></script> 
 <script type="text/javascript"> $(window).bind("load", function() { // your javascript event )}; </script> 

जैसा डैनियल कहते हैं, आप दस्तावेज़ का उपयोग कर सकते हैं। डाउनलोड करें

विभिन्न जावास्क्रिप्ट चौखटे (जावा, मुट्टल, इत्यादि) एक कस्टम इवेंट 'डोमेल्ड' का उपयोग करते हैं, जो मुझे लगता है कि यह अधिक प्रभावी होगा। यदि आप जावास्क्रिप्ट के साथ विकास कर रहे हैं, तो मैं अत्यधिक रूपरेखा का शोषण करने की सलाह देता हूं, वे आपकी उत्पादकता को बड़े पैमाने पर बढ़ाते हैं

आपके लिए jQuery के रैपरर्स आप शायद यह सबसे आसान समाधान हो पाएंगे

// यह परीक्षण और काम किया है 🙂

$ (दस्तावेज़) .ready (फ़ंक्शन () {functon1 (); function2 ()});