// ==UserScript== // @name Pixiv Show bookmark count // @version 5.0.0 // @match https://www.pixiv.net/* // @namespace https://greasyfork.org/users/7945 // @description 検索ページ、作者作品一覧ページなどにて、各イラストのブックマーク数を表示します。 // @downloadURL none // ==/UserScript== document.head.insertAdjacentHTML('beforeend', ''); new MutationObserver(() => { if (/pixiv\.net\/(?:(?:en\/)?tags\/|member(?:_illust)?\.php\?id=|bookmark\.php\?id=\d+(?!.*?&type=(?:reg_)?user)|bookmark_new_illust)/.test(location.href)) var selector = document.querySelectorAll('#root div>section>ul>li,#root div>section>div>ul>li,.JoCpVnw'); if (!selector || selector.length == document.querySelectorAll('.dummybmc').length || window != top) return; selector.forEach(async tarobj => { if (!tarobj.classList.contains('dummybmc')) tarobj.classList.add('dummybmc'); if (tarobj.classList.contains('dummybmc2') || !tarobj.querySelector('a[href*="/artworks/"]') || tarobj.querySelector('.bmcount,.bookmark-count')) return; tarobj.classList.add('dummybmc2'); const illust_ID = /\d+/.exec(tarobj.querySelector('a[href*="/artworks/"]').href); const bmcount = (await (await fetch('https://www.pixiv.net/ajax/illust/' + illust_ID, {credentials: 'omit'})).json()).body.bookmarkCount; if (bmcount > 0) tarobj.insertAdjacentHTML('beforeend', '
' + bmcount + '
'); }); }).observe(document.body, {childList: true, subtree: true});