您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
要素がDOMに出現するまで待つユーティリティです。
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/443087/1038171/wait-for-selector.js
// ==UserScript== // @name wait-for-selector // @namespace http://tampermonkey.net/ // @version 1.0.0 // @license MIT // @description 要素がDOMに出現するまで待つユーティリティです。 // @author You // @grant none // ==/UserScript== 'use strict' /** * @param {string} selectors * @param {number} [timeout=Infinity] * @param {ParentNode} [context=document.body] * @returns {Promise<Element>} */ const waitForSelector = (selectors, timeout = Infinity, context = document.body) => { const element = context.querySelector(selectors) if (element) { return Promise.resolve(element) } return new Promise((resolve, reject) => { const observer = new MutationObserver(records => { for (const { addedNodes } of records) { if (!addedNodes.length) { continue } const element = context.querySelector(selectors) if (!element) { continue } observer.disconnect() resolve(element) } }) observer.observe(context, { childList: true, subtree: true }) if (Number.isFinite(timeout)) { setTimeout(() => { observer.disconnect() reject(new Error('Element not found')) }, timeout) } }) } unsafeWindow.waitForSelector = waitForSelector