setMutationHandler

MutationObserver wrapper to wait for the specified CSS selector

Version vom 13.10.2015. Aktuellste Version

Dieses Skript sollte nicht direkt installiert werden. Es handelt sich hier um eine Bibliothek für andere Skripte, welche über folgenden Befehl in den Metadaten eines Skriptes eingebunden wird // @require https://update.greasyforks.org/scripts/12228/80017/setMutationHandler.js

Autor
woxxom
Version
2.0.4
Erstellt am
05.09.2015
Letzte Aktualisierung
13.10.2015
Größe
1,69 KB
Lizenz
n/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://greasyforks.org/scripts/12228/code/setMutationHandler.js
..............
// ==/UserScript==

Usage (single node, one-time change):

setMutationHandler(document, '.container p.some-child', function(nodes) {
    nodes[0].remove();
    this.disconnect(); // disconnect the observer, this is useful for one-time jobs
});

Usage (multiple nodes, the page is watched constantly for the added elements):

setMutationHandler(document, '.container p.some-child', function(nodes) {
    nodes.forEach(function(node) {
        node.style.display = 'none';
    });
    return true; // continue enumerating current batch of mutations
});

Usage (observe the changes only inside particular container element):

setMutationHandler(document.querySelector('.container-selector'), '.some-child', function(nodes) {
    nodes.forEach(function(node) {
        node.style.display = 'none';
    });
    return true; // continue enumerating current batch of mutations
});

You may want to make your userscript run at document-start to catch the mutations during page load:

..............
// @run-at        document-start
// @require       https://greasyforks.org/scripts/12228/code/setMutationHandler.js
..............
// ==/UserScript==
长期地址
遇到问题?请前往 GitHub 提 Issues。