setMutationHandler

MutationObserver wrapper to wait for the specified CSS selector

נכון ליום 10-02-2017. ראה הגרסה האחרונה.

אין להתקין סקריפט זה ישירות. זוהי ספריה עבור סקריפטים אחרים // @require https://update.greasyforks.org/scripts/12228/174273/setMutationHandler.js

יוצר
woxxom
גרסה
2.1.1
נוצר
05-09-2015
עודכן
10-02-2017
Size
2.52 קילו-בייט
רישיון
לא זמין

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==
  • 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://greasyforks.org/scripts/12228/code/setMutationHandler.js
    ..............
    // ==/UserScript==
    
长期地址
遇到问题?请前往 GitHub 提 Issues。