Olvida lo que dije. Recordé la existencia de una API de JavaScript que nos permite saber si se ha producido algún cambio en el DOM, o sea, en el modelo de objetos del documento. Se trata de la API
MutationObserver
, con la cual sabremos si se produjo alguna modificación en el documento y, de ser así, realizaremos determinadas acciones.
Código Javascript
:
Ver originalvar elemento = document.querySelector("#cc_strinfo_song_radiomaticaonline"),
observador = new MutationObserver(function(mutaciones){
mutaciones.forEach(function(mutacion){
var titulo = mutacion.target.innerHTML;
//Tus instrucciones
});
});
observador.observe(elemento, {
childList: true
});
Primero, tomamos al elemento en donde se muestra el título. Enseguida, declaramos una variable que almacenará una instancia al objeto
MutationObserver
y, en su llamada de retorno, recorreremos el arreglo que contiene a todos los cambios o mutaciones ocurridas. En cada iteración, tomamos el valor contenido (en este caso, el título) en el elemento en donde se produjo el cambio y realizamos otras acciones, como puede ser el hecho de pasarlo como argumento a una función que contenga el código que ejecuta al reproductor para así cambiar el título de manera dinámica.
Con el método
.observe()
, podremos obtener las notificaciones necesarias para saber cuando ocurran cambios en el elemento en cuestión, pasándole como argumento a dicho elemento y un objeto literal con el atributo
childList
cuyo valor es
true
para detectar cambios en sus nodos hijos, entre los cuales se encuentran los nodos de texto. Esta parte es muy importante ya que, aunque se produzcan cambios en otros elementos, solo serán observados los del elemento establecido como primer argumento en la llamada al método.