您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
对条目列表进行按排名、人数、评分、时间排序
当前为
// ==UserScript== // @name Bangumi 条目排序 // @namespace https://github.com/bangumi/scripts/liaune // @version 1.0 // @description 对条目列表进行按排名、人数、评分、时间排序 // @author Liaune // @include /^https?://(bangumi\.tv|bgm\.tv|chii\.in)/(.+?/tag|.+?/browser|subject_search)(/|\?).+/ // @grant none // ==/UserScript== (function() { let sortstyle = -1, sortstyle1 = 1,sortstyle2 = 1,sortstyle3 = -1; //按排名排序 const showBtn = document.createElement('a'); showBtn.addEventListener('click', SortByRank); showBtn.className = 'chiiBtn'; showBtn.href='javascript:;'; showBtn.textContent = '排名排序';document.querySelector('#browserTools').append(showBtn); //按评分人数排序 const showBtn1 = document.createElement('a'); showBtn1.addEventListener('click', SortByVote); showBtn1.className = 'chiiBtn'; showBtn1.href='javascript:;'; showBtn1.textContent = '人数排序';document.querySelector('#browserTools').append(showBtn1); //按评分排序 const showBtn2 = document.createElement('a'); showBtn2.addEventListener('click', SortByPoint); showBtn2.className = 'chiiBtn'; showBtn2.href='javascript:;'; showBtn2.textContent = '评分排序';document.querySelector('#browserTools').append(showBtn2); //按时间排序 const showBtn3 = document.createElement('a'); showBtn3.addEventListener('click', SortByTime); showBtn3.className = 'chiiBtn'; showBtn3.href='javascript:;'; showBtn3.textContent = '时间排序';document.querySelector('#browserTools').append(showBtn3); function ParseRank(rankstring){ let rank = rankstring.match(/Rank (\d{1,4})/)? rankstring.match(/Rank (\d{1,4})/)[1]: 9999; return rank; } function ParseVote(votestring){ let vote = votestring.match(/(\d{1,5})人评分/)? votestring.match(/(\d{1,5})人评分/)[1]: 0; return vote; } function ParseDate(Datestring){ let yy = Datestring.match(/(\d{4})/)? Datestring.match(/(\d{4})/)[1].toString():'1000'; Datestring = Datestring.match(/(\d{4})(年|-)(\d{1,2})(月|-)(\d{1,2})/); let year = Datestring ? Datestring[1].toString(): yy; let month = Datestring ? Datestring[3].toString(): '01'; let day = Datestring ?Datestring[5].toString(): '01'; let date= new Date(year+'/'+month+'/'+day); let now = new Date(); return now.getTime()-date.getTime(); } function SortByRank() { sortstyle = (sortstyle==1)? -1 :1; showBtn.textContent = (showBtn.textContent=='排名排序↑') ? '排名排序↓':'排名排序↑'; let container = document.querySelector('ul#browserItemList'); let arr=[]; for(let i=0;i<itemsList.length;i++) arr[i]=itemsList[i]; arr.sort(function(li1,li2){ let n1=li1.querySelector('.inner .rank')? ParseRank(li1.querySelector('.inner .rank').textContent): 9999; let n2=li2.querySelector('.inner .rank')? ParseRank(li2.querySelector('.inner .rank').textContent): 9999; return (n1-n2)*sortstyle;}); for(let i=0; i<arr.length; i++) $('#browserItemList').append(arr[i]); } function SortByVote() { sortstyle1 = (sortstyle1==-1)? 1 :-1; showBtn1.textContent = (showBtn1.textContent=='人数排序↓') ? '人数排序↑':'人数排序↓'; let container = document.querySelector('ul#browserItemList'); let arr=[]; for(let i=0;i<itemsList.length;i++) arr[i]=itemsList[i]; arr.sort(function(li1,li2){ let n1=li1.querySelector('.inner .rateInfo .tip_j')? ParseVote(li1.querySelector('.inner .rateInfo .tip_j').textContent): 0; let n2=li2.querySelector('.inner .rateInfo .tip_j')? ParseVote(li2.querySelector('.inner .rateInfo .tip_j').textContent): 0; return (n1-n2)*sortstyle1;}); for(let i=0; i<arr.length; i++) $('#browserItemList').append(arr[i]); } function SortByPoint() { sortstyle2 = (sortstyle2==-1)? 1 :-1; showBtn2.textContent = (showBtn2.textContent=='评分排序↓') ? '评分排序↑':'评分排序↓'; let arr=[]; for(let i=0;i<itemsList.length;i++) arr[i]=itemsList[i]; arr.sort(function(li1,li2){ let n1=li1.querySelector('.inner .fade')? parseFloat(li1.querySelector('.inner .fade').innerHTML): 0; let n2=li2.querySelector('.inner .fade')? parseFloat(li2.querySelector('.inner .fade').innerHTML): 0; if(n1==n2){ let n11=li1.querySelector('.inner .rank')? ParseRank(li1.querySelector('.inner .rank').textContent): 9999; let n22=li2.querySelector('.inner .rank')? ParseRank(li2.querySelector('.inner .rank').textContent): 9999; return (n22-n11)*sortstyle2; } else return (n1-n2)*sortstyle2; }); for(let i=0; i<arr.length; i++) $('#browserItemList').append(arr[i]); } function SortByTime() { sortstyle3 = (sortstyle3==-1)? 1 :-1; showBtn3.textContent = (showBtn3.textContent=='时间排序↓') ? '时间排序↑':'时间排序↓'; let container = document.querySelector('ul#browserItemList'); let arr=[]; for(let i=0;i<itemsList.length;i++) arr[i]=itemsList[i]; arr.sort(function(li1,li2){ let n1=li1.querySelector('.inner .info')? ParseDate(li1.querySelector('.inner .info').textContent): 0; let n2=li2.querySelector('.inner .info')? ParseDate(li2.querySelector('.inner .info').textContent): 0; return (n1-n2)*sortstyle3; }); for(let i=0; i<arr.length; i++) $('#browserItemList').append(arr[i]); } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址