MutationObserverEcoPlus

Observer les changements de la zone

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.gf.qytechs.cn/scripts/538304/1601399/MutationObserverEcoPlus.js

function onElementAppear(selector, callback) {
  // Si l'élément est déjà là, on exécute direct
  const el = document.querySelector(selector);
  if (el) return callback(el);

  const observer = new MutationObserver(mutations => {
    for (const mutation of mutations) {
      for (const node of mutation.addedNodes) {
        if (!(node instanceof Element)) continue;
        if (node.matches(selector)) {
          observer.disconnect();
          clearTimeout(timeoutId); // on nettoie le timeout si l’élément apparaît avant
          callback(node);
          return;
        }
      }
    }
  });

  observer.observe(document.body, { childList: true, subtree: true });

  // Limiter le temps d’observation à 3000 ms
  const timeoutId = setTimeout(() => {
    observer.disconnect();
    // Optionnel : tu peux appeler callback(null) ici si tu veux signaler timeout
  }, 3000);
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址