🏠 Home 

Greasy Fork is available in English.

USToolkit

simple toolkit to help me

Этот скрипт недоступен для установки пользователем. Он является библиотекой, которая подключается к другим скриптам мета-ключом // @require https://update.greasyfork.org/scripts/526417/1540623/USToolkit.js

// ==UserScript==
// @name            USToolkit
// @namespace       https://greasyfork.org/pt-BR/users/821661
// @version         0.0.3
// @run-at          document-start
// @author          hdyzen
// @description     simple toolkit to help me
// @license         MIT
// ==/UserScript==
/**
* Asynchronously queries the DOM for an element matching the given selector.
* If the element is not found immediately, it will observe the DOM for changes
* and resolve once the element is found or reject after a timeout.
*
* @param {string} selector - The CSS selector to query for.
* @param {number} [timeoutSeconds=10] - The maximum time to wait for the element, in seconds.
* @returns {Promise<Element>} A promise that resolves with the found element or rejects with a timeout error.
*/
function asyncQuerySelector(selector, timeoutSeconds = 10) {
return new Promise((resolve, reject) => {
const element = document.querySelector(selector);
if (element) {
resolve(element);
}
const mutationsHandler = () => {
const target = document.querySelector(selector);
if (target) {
observer.disconnect();
resolve(target);
}
};
const observer = new MutationObserver(mutationsHandler);
observer.observe(document.body || document.documentElement || document, { childList: true, subtree: true });
setTimeout(() => {
observer.disconnect();
reject("Timeout 10 seconds");
}, timeoutSeconds * 1000);
});
}