Greasy Fork is available in English.

setMutationHandler

MutationObserver wrapper to wait for the specified CSS selector

目前為 2015-10-13 提交的版本,檢視 最新版本

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.greasyfork.org/scripts/12228/80003/setMutationHandler.js

作者
woxxom
版本
2.0.2
建立日期
2015-09-05
更新日期
2015-10-13
授權條款
未知

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==

Usage (single node, one-time change):

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