if (document.readyState && document.readyState !== 'loading') { kagiSummarizeOnLoad(); } else { document.addEventListener('DOMContentLoaded', kagiSummarizeOnLoad, false); } function kagiSummarizeOnLoad() { console.log('configuring kagi observer'); var observer = new MutationObserver(function(mutations) { console.log('kagi observer triggered'); mutations.forEach(function(mutation) { if (mutation.addedNodes && mutation.addedNodes.length > 0) { console.log(mutation.addedNodes); var hasClass = [].some.call(mutation.addedNodes, function(el) { return el.classList.contains('kagi-summary'); }); if (hasClass) { console.log('observer found kagi class'); } } }); }); observer.observe(document.body, { attributes: true, childList: true, characterData: true }); }