Sleazy Fork is available in English.

filterSuperfluousOnDMM

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

Від 01.06.2020. Дивіться остання версія.

/* 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);

})();