🏠

Greasy Fork is available in English.

侦听innerHTML

侦听元素innerHTML变化

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @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);
});
}