1、排行榜过滤已阅视频
// ==UserScript==
// @name 我的bilibili排行榜脚本
// @version 1.3
// @description 1、排行榜过滤已阅视频
// @author Zz_子于子乐
// @include *://www.bilibili.com/ranking
// @include *://www.bilibili.com/ranking/*
// @grant none
// @require http://code.jquery.com/jquery-1.11.0.min.js
// @namespace https://greasyfork.org/users/9579
// ==/UserScript==
/////////////////////
///<<脚本初始化>>///
///////////////////
var MyRankZz = '<input id="MyRankButton" type="button" style="float:left;background:#00a1d6;color:#fff;border-radius:4px;padding:0 5px;height:25px;font-size:12px;margin-right:5px;margin-top:7px;cursor:pointer;" value="添加我的排行" />'
+ '<div style="float:left;background:#00a1d6;color:#fff;border-radius:4px;padding: 4px 5px;margin-top:1px;position: relative;top: 7px;">'
+ '<input id="MyRankCheck" type="checkbox" style="float:left;line-height:20px;margin-left:5px;cursor:pointer;text-align:center;transition:0.2s all;" />'
+ '<label for="MyRankCheck" style="cursor:pointer;">我的排行过滤</label>'
+ '</div>';
$(MyRankZz).insertAfter(".rank-tab"); //在页面插入控件
var MyRankCheck = localStorage.getItem("MyRankCheck"); //获取过滤参数
if(MyRankCheck && MyRankCheck==1){
$("#MyRankCheck").attr("checked",true); //设置选项
}
var d = new Date();
var dMon = d.getMonth() + 1;
if(!MyRankCheck && MyRanking!=0){
localStorage.setItem("MyRankCheck",0); //初始化参数
localStorage.setItem("MyRanking"+dMon,""); //初始化存储
alert("排行榜脚本初始化成功!\n——bilibili排行榜脚本 by Zz");
location.reload(); //刷新页面
}
var MyRanking = localStorage.getItem("MyRanking"+dMon); //获取存储排行
if(!MyRanking && MyRanking!=""){
localStorage.setItem("MyRanking"+dMon,""); //添加新一月存储
alert("又是新的一个月!——bilibili排行榜脚本");
}
///////////////////////////////
//==函数递归等待排行榜加载==//
/////////////////////////////
function loadStart(){
if($(".dyn_list").html() == '<li class="rank-loading">loading...</li>'){
console.info("网速慢……只能等");
setTimeout(function(){
loadStart();
},100);
}else{
rankShow(0); //启动排行比较过滤
}
}
///////////////////////////////
//==排行榜比较·过滤·添加==//
/////////////////////////////
function rankShow(a){
var rankList = MyRanking.split("|"); //存储排行分割后存放
var rankItem = new Array(100); //当前页面排行
$(".info .title").each(function(i){
rankItem[i] = $(this).html();
});
//--开始循环比较页面排行与存储排行--//
for(var n=0;n<100;n++){
var unRead = 1; //已阅否?
for(var m=0;m<rankList.length;m++){
if(rankItem[n] == rankList[m]){
unRead = 0; //已阅~
if(MyRankCheck==1){
$(".rank-list li:eq("+n+")").slideUp(); //隐藏已阅
}else{
$(".rank-list li:eq("+n+")").css("background","#c4e4b3"); //已阅视频过滤后变绿
}
}
}
if(unRead==1){
if(a==0){
$(".rank-list li:eq("+n+")").css("background","#edf2f9"); //未阅视频过滤后变蓝
}else{
MyRanking += "|" + rankItem[n]; //添加未阅
console.info(rankItem[n]);
}
}
}
if(a==1){
localStorage.setItem("MyRanking"+dMon,MyRanking);
//alert("成功添加当前排行到已阅存储!——bilibili排行榜脚本");
location.reload();
}
}
//++点击我的排行过滤++//
$("#MyRankCheck").click(function(){
if($("#MyRankCheck").is(":checked")){
MyRankCheck = 1;
localStorage.setItem("MyRankCheck",1); //存储过滤参数1
rankShow(0); //点击比较显示排行
}else{
localStorage.setItem("MyRankCheck",0); //存储过滤参数0
location.reload(); //还原直接刷新...偷个懒
}
});
//++切换各个排行++//
$("#rank_range_tab li,#rank_catalogy_tab li,#rank_menu li").click(function(){
setTimeout(function(){
loadStart();
},200);
});
//++点击添加我的排行++//
$("#MyRankButton").click(function(){
rankShow(1);
});
/////////////////////
//<<脚本开始加载>>//
///////////////////
loadStart();