Creé un script (tampermonkey) para actualizar el título de un sitio web en función de su contenido:
setInterval(function() { var activeSettingsPage = document.querySelector('[class$="dd_sublinks sel"]'); if (activeSettingsPage != null){ var activeSettingsPageName = activeSettingsPage.querySelector('.dd_sublinks_linkto').querySelector('.setuplink').querySelector('.setuplink_text').textContent; document.title = activeSettingsPageName; } const DEFAULT_TITLE_ENDING = ' - Zoho CRM'; if(document.title.includes(' - Zoho CRM')){ document.title = document.title.replace(DEFAULT_TITLE_ENDING,''); } }); He usado una función setInterval() para ejecutarla en un ciclo sin fin. ¿Es una solución correcta? ¿O hay algo mejor? (Desde el rendimiento, la legibilidad del código, etc... aspectos)
Nota: si setInterval() mi secuencia de comandos tampermonkey verificará el contenido del sitio web solo una vez al principio. Eso no es lo que estoy buscando.
También es posible que desee revisar las diversas respuestas en este hilo , que además cubre:
// @run-at document-idlewaitForKeyElements() de Brock Adams Tenga en cuenta que la utilidad waitForKeyElements() , como se escribió originalmente, requiere jQuery.
Aquí hay una bifurcación actualizada/revisada de la utilidad waitForKeyElements() que:
setInterval()Puede usar un MutationObserver que le permite saber cuándo ha cambiado un nodo (y un título es un nodo).
new MutationObserver(function(mutations) { console.log("title changed to: " + document.title); }).observe( document.querySelector('title'), { subtree: true, characterData: true, childList: true } ); setInterval(function() { document.title = Math.random() }, 1000) <title>hello world</title>