Estoy tratando de crear una extensión de Chrome para lichess.org para eliminar permanentemente algunos elementos del sitio web.
Como los elementos (en este caso, los divs) pueden volver a aparecer si el usuario navega por el sitio web, implementé un MutationObserver para eliminar los divs nuevamente tan pronto como se agreguen nuevamente. Sin embargo, aunque se llama a la función para eliminarlos y no cambian su identificación de datos, solo se eliminan cuando se llama a la función por primera vez.
Esto es lo que he probado hasta ahora:
Estos son los divs que quiero eliminar. Son exactamente los mismos después de reaparecer.
const bullet1 = document.querySelector('[data-id="1+0"]'); const bullet2 = document.querySelector('[data-id="2+1"]');Este es el Observador de mutaciones. El div se agrega con addedNode.
const parent_lobby = document.querySelector("#main-wrap > main"); const mutationObserver = new MutationObserver(mutations => { if (mutations[0].addedNodes[0].className == "lobby__app lobby__app-pools"){ remove_bullet_QP(); } }) mutationObserver.observe(parent_lobby, {childList: true})Esta es la función llamada para eliminar los elementos. La primera llamada del método que ocurre tan pronto como se abre el sitio web.
function remove_bullet_QP(){ bullet1.remove(); bullet2.remove(); } remove_bullet_QP();También intenté sobrescribir los divs antes de llamar a la función para eliminarlos, pero no cambió el resultado.
Gracias por tu ayuda.
Cambié bullet1 y bullet2 de const a let y las reasigné en cada llamada de función. Esto parece funcionar.
Como dije en mi pregunta, he intentado reasignar antes, pero sin cambiarlo para dejar. Esto debería haberme dado un mensaje de error, de alguna manera no lo hizo.