您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
はてなブックマークの検索結果ページで、ブックマーク数によるフィルタリング選択肢を改変します。
// ==UserScript== // @name Hatena Bookmark Users Filter // @description はてなブックマークの検索結果ページで、ブックマーク数によるフィルタリング選択肢を改変します。 // @namespace knoa.jp // @include https://b.hatena.ne.jp/search/* // @version 1.0.2 // @grant none // ==/UserScript== /* 正常動作を確認しました。 */ (function(){ const COUNTS = [1, 3, 10, 30, 100, 300, 1000]; const DEFAULT = 3; let current = location.href.includes('&users=') ? parseInt(location.href.match(/&users=([0-9]*)/)[1]) : DEFAULT; let filterH3s = document.querySelectorAll('.left-container h3'); let countsH3 = Array.from(filterH3s).find(h3 => h3.textContent === 'ブックマーク数'); if(countsH3 === undefined) return console.log('Not found H3.'); let countsUl = countsH3.parentNode.querySelector('ul'); let countsLis = countsUl.querySelectorAll('ul > li'); while(countsUl.children.length > 1) countsUl.removeChild(countsUl.lastElementChild); COUNTS.forEach(c => { if(c === 1) return; let li = countsLis[0].cloneNode(true); let a = li.querySelector('a'); if(a === null) return console.log('Not found a.'); if(c === current) a.classList.add('is-current'); else a.classList.remove('is-current'); a.href = a.href.replace(/(&users)=1\b/, '$1=' + c); a.textContent = c + ' users'; countsUl.appendChild(li); }); })();