Quiero obtener HTML interno de un video actual en youtube. El siguiente código no funciona en youtube, porque cambiar las subpáginas no provoca la recarga de toda la página (cuando lo hace, el código funciona bien). Después de cada cambio de video, el HTML interno del primer video visitado se imprime en la consola. La única forma de obtener el actual es hacer clic en f5. ¿Cómo puedo reescribir el código para que funcione?
manifiesto.json
... "background": { "service_worker": "background.js" }, "content_scripts": [ { "matches": ["http://*/*", "https://*/*"], "js": ["index.js"] } ], "permissions": ["activeTab", "scripting", "tabCapture", "storage", "tabs"], ...fondo.js
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => { const regex = /.*youtube.com\/watch\?.*/gm; if (changeInfo.status === "complete" && !!tab.url.match(regex)) { chrome.tabs.sendMessage(tabId, { message: "NEW_VIDEO" }); } });índice.js
chrome.runtime.onMessage.addListener((request) => { if (request.message === "NEW_VIDEO") { console.log(document.documentElement.innerHTML); } });