setMutationHandler

MutationObserver wrapper to wait for the specified CSS selector

Pada tanggal 10 Februari 2017. Lihat %(latest_version_link).

Skrip ini tidak untuk dipasang secara langsung. Ini adalah pustaka skrip lain untuk disertakan dengan direktif meta // @require https://update.greatest.deepsurf.us/scripts/12228/174273/setMutationHandler.js

Penulis
woxxom
Versi
2.1.1
Dibuat
05 September 2015
Diperbarui
10 Februari 2017
Size
2,52 KB
Lisensi
N/A

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==
  • 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) { ...... });
    
  • 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 
    });
    
  • 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==