1import {ajaxURL} from "helpers/serverData"; 2 3(function () { 4 function getPageLoadTime() { 5 if (!(window.performance && window.performance.getEntriesByType)) { 6 return null; 7 } 8 9 var entries = window.performance.getEntriesByType("navigation"); 10 if (!entries.length) { 11 return null; 12 } 13 14 var navTiming = entries[0]; 15 if (navTiming.loadEventEnd <= 0) { 16 return null; 17 } 18 19 var pageLoadTime = navTiming.loadEventEnd - navTiming.startTime; 20 if (pageLoadTime > 60000) { 21 return null; 22 } 23 24 return Math.round((pageLoadTime / 1000 + Number.EPSILON) * 100) / 100; 25 } 26 27 function pushPageLoadTime() { 28 var value = getPageLoadTime(); 29 if (value === null || value <= 0) { 30 return; 31 } 32 33 jQuery.ajax({ 34 url: ajaxURL, 35 method: 'POST', 36 data: { 37 action: 'melett_page_load', 38 tag: value, 39 load_url: window.location.pathname 40 }, 41 dataType: 'json', 42 success: (data) => { 43 44 }, 45 error: (err) => { 46 console.log(err) 47 }, 48 }); 49 50 window.dataLayer = window.dataLayer || []; 51 window.dataLayer.push({ 52 event: "pageLoadTimeReady", 53 pageLoadTime: value 54 }); 55 } 56 57 if (document.readyState === "complete") { 58 setTimeout(pushPageLoadTime, 0); 59 } else { 60 window.addEventListener("load", function () { 61 setTimeout(pushPageLoadTime, 0); 62 }); 63 } 64})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.