Greasy Fork

Greasy Fork is available in English.

Pixiv-删除无用元素

隐藏无用的、看起来意义不明的 iframe 元素造成的空白。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name                Pixiv-DeleteNoNeed
// @name:zh-CN          Pixiv-删除无用元素
// @name:ja             Pixiv-不要な要素を削除
// @namespace           https://github.com/TitanRGB
// @version             1.2
// @description         Hide no need iframe elements which looks like empty space with no meaning.
// @description:zh-CN   隐藏无用的、看起来意义不明的 iframe 元素造成的空白。
// @description:ja      無駄で意味不明に見えるiframe要素による空白を隠す。
// @author              https://github.com/TitanRGB
// @icon                data:image/png;base64,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
// @match               http*://pixiv.net
// @match               http*://pixiv.net/*
// @match               http*://www.pixiv.net
// @match               http*://www.pixiv.net/*
// @license             MPL-2.0
// @license^            Mozilla Public License 2.0
// @grant               unsafeWindow
// @homepageURL         https://github.com/SynRGB/Pixiv-DeleteNoNeed
// @contributionURL     https://github.com/SynRGB/Pixiv-DeleteNoNeed
// @copyright           Copyright © 2022-PRESENT, TitanRGB (https://github.com/TitanRGB)
// @charset             UTF-8
// @run-at              document-end
// ==/UserScript==

let last_run_time = new Date().getTime();

let main = function () {
    let iframe = document.querySelectorAll('iframe');
    for (let i = 0; i < iframe.length; i++) {
        let parent = iframe[i].parentElement;
        if (parent.tagName === 'LI' && iframe[i].name === 'relatedworks') {
            parent.style.display = 'none';
        }
        if (parent.tagName === 'DIV' && iframe[i].name === 'header') {
            parent.style.display = 'none';
        }
    }

    const xpath = '//*[@id="root"]/div[2]/div/div[2]/div[2]';
    const element = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;

    if (element) {
        // 检查元素是否只包含空白字符或没有子元素
        if (!element.hasChildNodes() || /^\s*$/.test(element.innerHTML)) {
            element.parentNode.removeChild(element);
        }
    }

    last_run_time = new Date().getTime();
}

let MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
let observer = new MutationObserver(function (mutations) {
    mutations.forEach(function () {
        if (new Date().getTime() - last_run_time > 100) {
            main();
        }
    });
});
observer.observe(document.body, {
    childList: true,
    subtree: true
});

console.log("JS script Pixiv-DeleteNoNeed (Pixiv-删除无用元素) loaded. See more details at https://github.com/SynRGB/Pixiv-DeleteNoNeed");