Necesito agregar un código a una página web cuando aparece cierto texto en ella.
Así que cargo una página web, y aparece esto:
<div id="someid" class="someclass" style=""></div>No quiero que pase nada. Pero en algún momento aparece esto:
<div id="someid" class="someclass" style="">Some text here...</div>Cuando aparezca el texto, quiero que Greasemonkey lo agregue en algún lugar de la página.
<div id="idbla">This is text...</div>No me importa dónde se agrega esto. No necesita ser anexado a nada. Ni siquiera necesita ser visible en la página. Solo quiero que aparezca en algún lugar del HTML de la página web.
Use un MutationObserver para detectar cambios de texto en su elemento:
function main() { console.log('Text added!'); } const wantedDiv = document.querySelector('#someid'); const button = document.querySelector('#add-text'); button.addEventListener('click', () => wantedDiv.innerText = 'text...'); const observer = new MutationObserver(() => { if (wantedDiv.innerText) main(); observer.disconnect(); }); const config = { characterData: false, attributes: false, childList: true, subtree: false }; observer.observe(wantedDiv, config); <div id="someid" class="someclass" style=""></div> <button id="add-text">Add text</button>