Greasy Fork is available in English.
MutationObserver wrapper to wait for the specified CSS selector
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/12228/174471/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 http://greasyfork.icu/scripts/12228/code/setMutationHandler.js .............. // ==/UserScript==
Watch for added nodes:
setMutationHandler(document, '.container p.some-selector', function(nodes) {
nodes.forEach(function(node) {
node.style.display = 'none';
});
return false; // stop observing
});
The observation target parameter may be omitted so "document" will be used by default:
setMutationHandler('.container p.some-selector', function(nodes) { ...... });
Process existing elements and set a mutation handler for the future ones
processExistingAndSetMutationHandler('a', processLinks);
Watch for added nodes only inside the specified container element that already exists in the document:
setMutationHandler(document.querySelector('.container-selector'), '.some-selector', function(nodes) {
nodes.forEach(function(node) {
node.style.display = 'none';
});
return false; // stop observing
});
Advanced example with customized options to watch for changes in the title attribute:
setMutationHandler(document, '.some-selector', processNodes, {
attributes: true, attributeFilter: ['title'],
subtree: true
});
function processNodes(nodes) {
console.log(nodes);
//return false; // stop observing
});
Make your userscript run at document-start to catch the mutations during page load:
.............. // @run-at document-start // @require http://greasyfork.icu/scripts/12228/code/setMutationHandler.js .............. // ==/UserScript==