javascript - style - स्क्रिप्टिंग भाषा




जावास्क्रिप्ट में पेज लोड समय की गणना (2)

@HaNdTriX द्वारा उल्लिखित उत्तर एक अच्छा है, लेकिन हमें यकीन नहीं है कि नीचे दिए गए कोड में डोम पूरी तरह से लोड हो गया है या नहीं:

var loadTime = window.performance.timing.domContentLoadedEventEnd- window.performance.timing.navigationStart; 

ऑनलोड के साथ उपयोग किए जाने पर यह पूरी तरह से काम करता है:

window.onload = function () {
    var loadTime = window.performance.timing.domContentLoadedEventEnd-window.performance.timing.navigationStart; 
    console.log('Page load time is '+ loadTime);
}

संपादित करें 1: उत्तर देने के लिए कुछ संदर्भ जोड़ा गया

नोट: loadTime मिलीसेकंड में है, आप @nycynik द्वारा उल्लिखित सेकंड प्राप्त करने के लिए 1000 तक विभाजित कर सकते हैं

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

जब पृष्ठ पूरी तरह से लोड होता है, तो यह टाइमर बंद कर देता है,

लेकिन 99% समय मुझे 0.00 या 0.01 का समय माप मिलता है, भले ही इसमें अधिक समय लगे।

कभी-कभी, यह कुछ ऐसा कहता है जो कुछ समय में 28 या 3.10 की तरह अधिक समझ में आता है।

अगर यह मदद करता है तो कोड यहां दिया गया है:

var hundredthstimer = 0;
var secondplace = 0;

function addinc(){

    hundredthstimer += 1;
    if (inctimer == 100){
        hundredthstimer = 0;
        secondplace += 1;
    }

}

var clockint = setInterval(addinc, 10);

function init(){
    var bconv1 = document.getElementById("bconverter1");
    var bconv2 = document.getElementById("bconverter2");

    $(bconv2).hide();

    clearInterval(clockint);

    if (inctimer.len !== 2){
        inctimer = "0" + inctimer;
    }
    alert(secondplace + "." + inctimer);
}
onload = init;

तो यह मूल रूप से एक चरक बनाता है जिसे सौथस्टीमर कहा जाता है जिसे प्रत्येक 10 मिलीसेकंड (.01 सेकंड) '1' द्वारा बढ़ाया जाता है।

फिर, यदि यह संख्या 1000 (1 पूर्ण सेकेंड) तक पहुंच जाती है, तो सेकेंडप्लेस नामक एक चर 1 तक बढ़ जाता है, क्योंकि यह कितने पूर्ण सेकेंड के लिए चलाया जाता है।

फिर, यह सेकेंडप्लेस, एक दशमलव बिंदु, और सौवां स्थान कुल लोड समय के रूप में अलर्ट करता है।

लेकिन गलत संख्याओं के साथ उपरोक्त समस्या अभी भी मौजूद है। क्यूं कर?


इतना जटिल क्यों? जब आप कर सकते हैं:

var loadTime = window.performance.timing.domContentLoadedEventEnd- window.performance.timing.navigationStart;

यदि आपको अधिक बार आवश्यकता है तो खिड़की की जांच करें। प्रदर्शन वस्तु:

console.log(window.performance);

आपको समय वस्तु दिखाएगी:

connectEnd                 Time when server connection is finished.
connectStart               Time just before server connection begins.
domComplete                Time just before document readiness completes.
domContentLoadedEventEnd   Time after DOMContentLoaded event completes.
domContentLoadedEventStart Time just before DOMContentLoaded starts.
domInteractive             Time just before readiness set to interactive.
domLoading                 Time just before readiness set to loading.
domainLookupEnd            Time after domain name lookup.
domainLookupStart          Time just before domain name lookup.
fetchStart                 Time when the resource starts being fetched.
loadEventEnd               Time when the load event is complete.
loadEventStart             Time just before the load event is fired.
navigationStart            Time after the previous document begins unload.
redirectCount              Number of redirects since the last non-redirect.
redirectEnd                Time after last redirect response ends.
redirectStart              Time of fetch that initiated a redirect.
requestStart               Time just before a server request.
responseEnd                Time after the end of a response or connection.
responseStart              Time just before the start of a response.
timing                     Reference to a performance timing object.
navigation                 Reference to performance navigation object.
performance                Reference to performance object for a window.
type                       Type of the last non-redirect navigation event.
unloadEventEnd             Time after the previous document is unloaded.
unloadEventStart           Time just before the unload event is fired.

ब्राउज़र समर्थन

और जानकारी






setinterval