setMutationHandler

MutationObserver wrapper to wait for the specified CSS selector

Versão de: 11/09/2015. Veja: a última versão.

Este script não deve ser instalado diretamente. Este script é uma biblioteca de outros scripts para incluir com o diretório meta // @require https://update.greatest.deepsurf.us/scripts/12228/73650/setMutationHandler.js

Autor
woxxom
Versão
1
Criado
05/09/2015
Atualizado
11/09/2015
Tamanho
1,12 KB
Licença
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://greatest.deepsurf.us/scripts/12228/code/setMutationHandler.js
..............
// ==/UserScript==

Usage (single node, one-time change):

setMutationHandler(document, '.container p.some-child', function(observer, nodes) {
    nodes[0].remove();
    observer.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(observer, nodes) {
    [].forEach.call(nodes, 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(observer, nodes) {
    [].forEach.call(nodes, 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://greatest.deepsurf.us/scripts/12228/code/setMutationHandler.js
..............
// ==/UserScript==