您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
はてなスターの数に応じてブコメをハイライトさせます。
当前为
// ==UserScript== // @name Hatena Bookmark Stars Highlighter // @description はてなスターの数に応じてブコメをハイライトさせます。 // @namespace knoa.jp // @include https://b.hatena.ne.jp/entry/* // @version 1.0.1 // @grant none // ==/UserScript== /* トップ10に限定されるのがもったいないので トップ11以降も状況に応じた数だけ表示させたい 「新しいブコメなのにスターを集めている」のも新タブか何かで目立たせたい 古いブクマでtop10がない場合も補いたい /s/なしがあればマージまたはせめて案内リンク 自分にスターを付けてくれた人によるブクマも目立たせたいかも 自分のお気に入りブクマカも??? */ (function () { let as, i; // ついでに一仕事 // サイト内ブクマリストを人気順にする。 if (as = document.querySelectorAll('.entry-info-domain a')) { for (i = 0; i < as.length; i++) { as[i].href = as[i].href + '&sort=count'; } } // ここから本作業 // グリモン起動のほうが早いので、addEventListener('load')にしないとダメっぽい window.addEventListener('load', function () { let spans, i; // 頻発するMutationObserverよりsetIntervalのほうがマシということで。 // スターサーバーが遅いことも多々ある。よってIntervalでよい。 // *一度確認したらフラグ立てる方式は読み込み遅延やコンテナが開かれたときに注意が必要 let timer = window.setInterval(function () { spans = document.querySelectorAll('span.hatena-star-star-container'); for (i = 0; spans && spans[i]; i++) { switch(true){ case (32 <= spans[i].getElementsByTagName('a').length): spans[i].parentNode.parentNode.parentNode.style.background = '#ffff00'; break; case (16 <= spans[i].getElementsByTagName('a').length): spans[i].parentNode.parentNode.parentNode.style.background = '#ffff80'; break; case (8 <= spans[i].getElementsByTagName('a').length): spans[i].parentNode.parentNode.parentNode.style.background = '#ffffc0'; break; case (4 <= spans[i].getElementsByTagName('a').length): spans[i].parentNode.parentNode.parentNode.style.background = '#ffffe0'; break; case (2 <= spans[i].getElementsByTagName('a').length): spans[i].parentNode.parentNode.parentNode.style.background = '#fffff0'; break; } } /* 16スター以上のまとまり */ spans = document.querySelectorAll('span.hatena-star-inner-count'); //16< for (i = 0; spans && spans[i]; i++) { switch(true){ case (32 <= spans[i].textContent): spans[i].parentNode.parentNode.parentNode.parentNode.style.background = '#ffff00'; break; default: spans[i].parentNode.parentNode.parentNode.parentNode.style.background = '#ffff80'; break; } } }, 1000); }); }) ();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址