setMutationHandler

MutationObserver wrapper to wait for the specified CSS selector

Устаревшая версия за 20.07.2016. Перейдите к последней версии.

Этот скрипт недоступен для установки пользователем. Он является библиотекой, которая подключается к другим скриптам мета-ключом // @require https://update.greasyfork.org/scripts/12228/137072/setMutationHandler.js

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

Автор
woxxom
Версия
2.0.6
Создано
05.09.2015
Обновлено
20.07.2016
Размер
2,1 КБ
Лицензия
нет данных

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://greasyfork.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';
        });
        //this.disconnect(); // stop observing 
        return true; // continue enumerating current batch of mutations
    });
    
  • 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';
        });
        //this.disconnect(); // stop observing 
        return true; // continue enumerating current batch of mutations
    });
    
  • 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, mutation) {
        console.log('Node %O changed title from "%s" to "%s"',
            nodes[0], mutation.oldValue, nodes[0].title);
        });
        //this.disconnect(); // stop observing 
        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://greasyfork.org/scripts/12228/code/setMutationHandler.js
    ..............
    // ==/UserScript==