DMM・FANZAの通販商品一覧からアウトレット、限定版、および BOD/DOD を除去
נכון ליום
/* 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);
})();