MutationObserver wrapper to wait for the specified CSS selector
이 스크립트는 직접 설치하는 용도가 아닙니다. 다른 스크립트에서 메타 지시문 // @require https://update.greasyfork.org/scripts/12228/175122/setMutationHandler.js을(를) 사용하여 포함하는 라이브러리입니다.
A MutationObserver wrapper to wait for an element (or elements) with the specified CSS selector.
First, load the function in your script metablock:
.............. // @require https://greasyfork.org/scripts/12228/code/setMutationHandler.js .............. // ==/UserScript==
Watch for added nodes:
setMutationHandler(document, '.container p.some-child', nodes => {
nodes.forEach(node => node.style.display = 'none');
return false; // disconnect the observer, this is useful for one-time jobs
});
The observation target parameter may be omitted so "document" will be used by default:
setMutationHandler('.container p.some-selector', nodes => { ...... });
Options form:
setMutationHandler({
processExisting: true, // Process existing elements and watch for mutations from now on
selector: '.container p.some-child',
handler: nodes => nodes.forEach(node => node.style.display = 'none')
});
Watch for added nodes only inside the specified container element that already exists in the document:
setMutationHandler({
target: document.querySelector('.container-selector'),
selector: 'p.some-child',
handler: nodes => nodes.forEach(node => node.style.display = 'none')
});
Advanced example with customized mutation options:
setMutationHandler({
selector: '.container p.some-child',
processExisting: false, // optional
target: document, // optional
childList: true, // optional
subtree: true, // optional
attributes: false, // optional
attributeFilter: [], // optional
attributeOldValue: false, // optional
characterData: false, // optional
characterDataOldValue: false, // optional
handler: nodes => {
console.log(nodes);
return false; // disconnect the observer, this is useful for one-time jobs
},
});
Make your userscript run at document-start to catch the mutations during page load:
.............. // @run-at document-start // @require https://greasyfork.org/scripts/12228/code/setMutationHandler.js .............. // ==/UserScript==