您需要先安装一个扩展,例如 篡改猴、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);
- });
- })();