waitForElement

Waits for an element using the MutationObserver API

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.gf.qytechs.cn/scripts/528234/1546775/waitForElement.js

  1. // ==UserScript==
  2. // @name waitForElement
  3. // @namespace Violentmonkey Scripts
  4. // @version 1.2
  5. // @description Waits for an element using the MutationObserver API
  6. // @author maanimis
  7. // @grant none
  8. // ==/UserScript==
  9. /**
  10. * Waits for a element of a given selector.
  11. *
  12. * @param {string} selector
  13. * @returns {Promise<HTMLElement>}
  14. */
  15. function waitForElement(selector) {
  16. return new Promise((resolve) => {
  17. const ELEMENT = document.querySelector(selector);
  18. if (ELEMENT) {
  19. return resolve(ELEMENT);
  20. }
  21.  
  22. console.log("can't find element for selector:", selector, "waiting...");
  23.  
  24. const observer = new MutationObserver(() => {
  25. const ELEMENT = document.querySelector(selector);
  26. if (ELEMENT) {
  27. console.log("element found!!");
  28. resolve(ELEMENT);
  29. observer.disconnect();
  30. }
  31. });
  32.  
  33. observer.observe(document.body, {
  34. childList: true,
  35. subtree: true,
  36. });
  37. });
  38. }

QingJ © 2025

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