(function trackHeaderFooterLoad() { // Helper function to check if an element (header/footer) is loaded and not empty function checkSectionLoaded(sectionClass, sectionName) { const section = document.querySelector(sectionClass); if (!section) { return false; } if (!section.innerHTML.trim()) { return false; } return true; } function trackSections() { const currentUrl = window.location.href; if (currentUrl.includes('/app-v') || checkSectionLoaded('.tracking--no-header--no-footer', 'NoHeaderFooter')) { return; } // Check header and footer var isHeaderPresent = (checkSectionLoaded('.tracking--header', 'Header') || checkSectionLoaded('.tracking--header--no-footer', 'Header')); var isFooterPresent = (checkSectionLoaded('.tracking--footer', 'Footer') || checkSectionLoaded('.tracking--footer--no-header', 'Footer')); if (!isHeaderPresent || !isFooterPresent) { window.newrelic.noticeError('Header Or Footer Missing', { headerLoadStatus: isHeaderPresent, footerLoadStatus: isFooterPresent }); } } // Execute the script post DOM load if (document.readyState === 'complete' || document.readyState === 'interactive') { trackSections(); } else { document.addEventListener('DOMContentLoaded', trackSections); } })();