setMutationHandler

MutationObserver wrapper to wait for the specified CSS selector

目前为 2016-10-10 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.gf.qytechs.cn/scripts/12228/151756/setMutationHandler.js

作者
woxxom
版本
2.0.9
创建于
2015-09-05
更新于
2016-10-10
大小
1.9 KB
许可证
暂无

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://gf.qytechs.cn/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 
    });
    
  • 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 
    });
    
  • 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);
        //this.disconnect(); // 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://gf.qytechs.cn/scripts/12228/code/setMutationHandler.js
    ..............
    // ==/UserScript==
    

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址