get-resourceID.js (913B)
1 function getResourceID(resourceName) { 2 return new Promise((resolve) => { 3 const observer = new PerformanceObserver((list) => { 4 const entries = list.getEntriesByType("resource"); 5 for (const entry of entries) { 6 if (entry.name.endsWith(resourceName)) { 7 observer.disconnect(); 8 resolve(`${entry.name}/${entry.startTime}`); 9 return; 10 } 11 } 12 }); 13 observer.observe({ entryTypes: ["resource"] }); 14 }); 15 } 16 17 function getDocumentResourceID() { 18 return new Promise((resolve) => { 19 const observer = new PerformanceObserver((list) => { 20 const entries = list.getEntriesByType("navigation"); 21 if (entries.length > 0) { 22 observer.disconnect(); 23 const [entry] = entries; 24 const { name, startTime } = entry; 25 resolve(`${name}/${startTime}`); 26 } 27 }); 28 observer.observe({ entryTypes: ["navigation"] }); 29 }); 30 }