From c3f1f235c14a0a21fca01150b03dddc03e213b04 Mon Sep 17 00:00:00 2001 From: Send_Nukez Date: Thu, 4 Nov 2021 00:01:44 +0100 Subject: [PATCH] improve cover listener --- src/js/main.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/js/main.js b/src/js/main.js index 1b20577..0c65943 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -667,15 +667,20 @@ async function pickCoverColor(img) { } function registerCoverListener() { - if (!document.querySelector(".main-image-image.cover-art-image")) return setTimeout(registerCoverListener, 250); - pickCoverColor(document.querySelector(".main-image-image.cover-art-image")); + const img = document.querySelector(".main-image-image.cover-art-image"); + if (!img) return setTimeout(registerCoverListener, 250); // Check if image exists + if (!img.complete) return img.addEventListener("load", registerCoverListener); // Check if image is loaded + pickCoverColor(img); const observer = new MutationObserver((muts) => { const img = document.querySelector(".main-image-image.cover-art-image"); - if (!img) return registerCoverListener(); + if (!img) { + observer.disconnect(); + return registerCoverListener(); + } pickCoverColor(img); }); - observer.observe(document.querySelector(".main-image-image.cover-art-image"), { + observer.observe(img, { attributes: true, attributeFilter: ["src"] });