Détecter changement d'une partie de page - Améliorer Deezer

Détecter changement d'une partie de page - Améliorer Deezer - Javascript/Node.js - Programmation

Marsh Posté le 11-08-2021 à 18:24:32    

Bonjour !
 
Je cherche à améliorer Deezer sur mon navigateur (Vivaldi)
 
J'y arrive en partie, je duplique la pochette car quand on scrolle dans l'album la pochette disparait de l'affichage alors qu'il reste justement de la place pour la mettre à gauche.
 
Problème : si je clique sur un autre album en dessous de l'album en lecture en cours, la page ne se recharge pas complètement, que la grande partie de droite, et la pochette à gauche ne se met pas à jour.
 
Savez vous comment je peux faire ?  Détecter quand la partie de droite se recharge ??
 
Merci d'avance
 
https://i.imgur.com/QAtOA9K.png
 
 
 
Mon code
 

Code :
  1. setTimeout(() => {  
  2.  
  3. let pochette = document.querySelector("#page_naboo_album > div:nth-child(1) > div > div._5BJsj > div > div._2Rv6Z._2j25R" );
  4.  
  5. let clone = pochette.cloneNode(true);
  6.  
  7. clone.style.marginLeft = "10px";
  8.  
  9. let barreGauche = document.querySelector("#page_sidebar > div.sidebar-nav.nano.has-scrollbar > div.nano-content > div" );
  10.  
  11. barreGauche.appendChild(clone);
  12.  
  13. }, 2000);


Message édité par Lt Ripley le 12-08-2021 à 09:11:54

---------------
Mes apps  |  Viens coder  |  Mon topal de vente
Reply

Marsh Posté le 11-08-2021 à 18:24:32   

Reply

Marsh Posté le 11-08-2021 à 19:16:55    

Reply

Marsh Posté le 12-08-2021 à 08:54:51    

Merci, je vais regarder de ce coté


---------------
Mes apps  |  Viens coder  |  Mon topal de vente
Reply

Marsh Posté le 12-08-2021 à 19:34:47    

Je progresse, merci, je détecte bien le rechargement de la partie de droite (mais j'arrive pas à cibler un div dedans, c'est soit toute la grosse partie de droite soit rien).
 
Cependant je ne sais pas pourquoi je n'arrive pas à mettre à jour le DIV que j'ai ajouté (contenant la pochette)
 
Si je fais ça ça marche à moitié car ça ajoute bien en dessous la pochette du nouvel album chargé (mais je n'arrive pas a supprimer la précédente)
 

Code :
  1. function callback() {
  2.  
  3.  console.log('callback passe : changement détecté');
  4.  
  5.  setTimeout(() => {
  6.  
  7.    //barreGauche.removeChild(clone);  // ces 2 lignes marchent pas
  8.    //clone.remove();
  9.    
  10.    let pochette2 = document.querySelector("#page_naboo_album > div:nth-child(1) > div > div._5BJsj > div > div._2Rv6Z._2j25R" );
  11.  
  12.    let clone2 = pochette2.cloneNode(true);
  13.  
  14.    let barreGauche2 = document.querySelector("#page_sidebar > div.sidebar-nav.nano.has-scrollbar > div.nano-content > div" );
  15.    barreGauche2.appendChild(clone2);
  16.  
  17.  }, 4000);
  18.  
  19. }


 
 
Et ceci ne fonctionne pas, ça ne "se met pas à jour" :
 

Code :
  1. function callback() {
  2.  
  3.  console.log('callback passe : changement détecté');
  4.  
  5.  setTimeout(() => {
  6.    
  7.    pochette = document.querySelector("#page_naboo_album > div:nth-child(1) > div > div._5BJsj > div > div._2Rv6Z._2j25R" );
  8.  
  9.    clone = pochette.cloneNode(true);
  10.  
  11.  }, 4000);
  12.  
  13. }


 
Savez vous ce que je peux tenter ?  Edit : J'ai pas d'erreur dans la console
 
 
Screen quand ça ajoute le nouvel album chargé : (1er code de ce post)
 
https://i.imgur.com/rJmuJYq.png


Message édité par Lt Ripley le 12-08-2021 à 19:44:35

---------------
Mes apps  |  Viens coder  |  Mon topal de vente
Reply

Marsh Posté le 12-08-2021 à 20:04:32    

Ca marche !  J'ai foutu mes var en dehors de toutes {}.  J'en ai chié un bon moment.
 

Code :
  1. function callback() {
  2.  
  3.  console.log('callback passe : changement détecté');
  4.  
  5.  setTimeout(() => {
  6.  
  7.    barreGauche.removeChild(clone);
  8.    
  9.    pochette = document.querySelector("#page_naboo_album > div:nth-child(1) > div > div._5BJsj > div > div._2Rv6Z._2j25R" );
  10.  
  11.    clone = pochette.cloneNode(true);
  12.    clone.style.marginLeft = "10px";
  13.  
  14.    barreGauche.appendChild(clone);
  15.  
  16.  }, 2000);
  17.  
  18. }


 
Et la partie qui concerne la détection de changement :
 

Code :
  1. let elementToObserve = document.querySelector("#page_content" );  //#page_content
  2.  
  3. let observer = new MutationObserver(callback);
  4.  
  5. let options = {
  6.  childList: true,
  7. };
  8.  
  9. observer.observe(elementToObserve, options);


Message édité par Lt Ripley le 12-08-2021 à 22:32:46

---------------
Mes apps  |  Viens coder  |  Mon topal de vente
Reply

Marsh Posté le 21-08-2021 à 15:15:15    

Salut !
 
Je cherche à présent à mettre en valeur la barre de progression dans le morceau de musique en cours.
 
L'aspect quand elle est "hover" me convient très bien, il existe un moyen de forcer ça ?  Car quand elle n'est pas en hover je vois strictement rien !
 
Merci encore une fois !
 
Edit : ah je m'apercois que sa class c'est "slider-autohide", donc c'est l'inverse qui doit se passer, non ?
 
https://i.imgur.com/wrKbwb9.png
https://i.imgur.com/vOuMakW.png


Message édité par Lt Ripley le 21-08-2021 à 15:33:36

---------------
Mes apps  |  Viens coder  |  Mon topal de vente
Reply

Marsh Posté le 21-08-2021 à 16:37:48    

J'y suis arrivé ! [:tekways]  (je chopais pas le bon élément)
 
https://i.imgur.com/NyfuQLu.png
 

Code :
  1. seekbar.style.minHeight="100%";


Message édité par Lt Ripley le 21-08-2021 à 18:31:39

---------------
Mes apps  |  Viens coder  |  Mon topal de vente
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed