Greasy Fork is available in English.

侦听innerHTML

侦听元素innerHTML变化

Script này sẽ không được không được cài đặt trực tiếp. Nó là một thư viện cho các script khác để bao gồm các chỉ thị meta // @require https://update.greasyfork.org/scripts/470241/1215965/%E4%BE%A6%E5%90%ACinnerHTML.js

// ==UserScript==
// @name         侦听innerHTML
// @namespace    https://leochan.me
// @version      1.1.0
// @description  侦听元素innerHTML变化
// @author       Leo
// @match        *://*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=leochan.me
// @licesen      GPLv2
// @grant        none
// ==/UserScript==

function leoChanWatchInnerHTML(selector, cb){
    let targetElement = document.querySelector(selector);
    if(!targetElement){
        return;
    }
    let previousInnerHTML = targetElement.innerHTML;
    let timer = null;
    targetElement.addEventListener('DOMSubtreeModified', () => {
        clearTimeout(timer);
        timer = setTimeout(() => {
            if (targetElement.innerHTML !== previousInnerHTML) {
                cb()
            }
            previousInnerHTML = targetElement.innerHTML;
        }, 100);
    });
}