filterSuperfluousOnDMM

DMM・FANZAの通販商品一覧からアウトレット、限定版、および BOD/DOD を除去

От 01.06.2020. Виж последната версия.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

/* jshint esversion: 6 */
// ==UserScript==
// @name         filterSuperfluousOnDMM
// @namespace    https://greasyfork.org/ja/users/289387-unagionunagi
// @version      0.5
// @description  DMM・FANZAの通販商品一覧からアウトレット、限定版、および BOD/DOD を除去
// @author       unagiOnUnagi
// @include      /^https?://\w+\.dmm\.co(m|\.jp)/mono/(\w+/)?-/(list|search)/.*/
// @grant        none
// @license      GPL-2.0-or-later
// ==/UserScript==

function filterSuperflouous(ul) {
    let nof = 0;
    ul.querySelectorAll('li').forEach(li => {
        let title = li.querySelector('div p.tmb a span img').getAttribute('alt');
        if ( /^【(特選)?アウトレット】/.test(title) ||
            /^【(DMM|FANZA|数量)限定】/.test(title) ||
            /([BD]OD)$/.test(title) ||
            /アウトレット(BD)?】$/.test(title)
            ) {
            ul.removeChild(li);
            nof += 1;
        }
    });

    if (!ul.childElementCount) {
        // ページ内全作品がフィルターされていたらその旨表示
        ul.insertAdjacentHTML('afterbegin',
                              '<b>ページ内の全作品がフィルターされています。(filterSuperfluousOnDMM)</b>');
    }

    // フィルター稼働中インジケーター
    let lastSpan = (document.querySelectorAll('p.headwithelem span span:last-child')[0] ||
                    document.querySelectorAll('p.headwithelem span:last-child')[0]);
    if (lastSpan) {
        lastSpan.innerHTML = lastSpan.innerHTML.trim() + `<span title="アウトレット、限定版、BOD/DOD はフィルターしています (このページに ${nof} 個)">*</span>`
        // lastSpan.insertAdjacentHTML('afterend', `<span title="アウトレット、限定版、BOD/DOD はフィルターしています (このページに ${nof} 個)">*</span>`);
    } else {
        console.log('Breadcrumb list not found');
    }
}

(function() {
    'use strict';
    // アウトレット、限定版、BOD/DOD を一覧から削除
    let ul = document.getElementById('list') ;
    if (ul) filterSuperflouous(ul);

})();