chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { if (request.action === 'analyze') { try { var data = { status: 'ok', title: document.title, url: window.location.href, headings: document.querySelectorAll('h1,h2,h3').length, links: document.querySelectorAll('a[href]').length, images: document.querySelectorAll('img').length }; sendResponse(data); } catch (e) { sendResponse({ status: 'error', message: e.message }); } } return true; });