// ==UserScript==
// @name b站首页增加已追番入口
// @namespace
// @version 1.6
// @description 在bilibili网页端上方菜单添加[已追番]的入口
// @author franxx
// @match *://www.bilibili.com/*
// @match *://space.bilibili.com/*
// @match *://t.bilibili.com/*
// @grant none
// @license GPL-3.0-only
// @compatible chrome 80+
// @namespace
// @downloadURL https://update.greasyfork.icu/scripts/370127/b%E7%AB%99%E9%A6%96%E9%A1%B5%E5%A2%9E%E5%8A%A0%E5%B7%B2%E8%BF%BD%E7%95%AA%E5%85%A5%E5%8F%A3.user.js
// @updateURL https://update.greasyfork.icu/scripts/370127/b%E7%AB%99%E9%A6%96%E9%A1%B5%E5%A2%9E%E5%8A%A0%E5%B7%B2%E8%BF%BD%E7%95%AA%E5%85%A5%E5%8F%A3.meta.js
// ==/UserScript==
(function() {//首页增加追番入口
var cookies = document.cookie;
var id=cookies.match(/DedeUserID=(\d+)/)[1];
var bangumiLink="https://space.bilibili.com/"+id+"/bangumi";
oldModifier1();
oldModifier2();
newModifier1();
newModifier2();
betaModifier1();
var timestamp=new Date().getTime();
function getTextNode(){
var newNode = document.createElement("div");
newNode.setAttribute("class","item");
newNode.innerHTML="追番";
return newNode;
}
function getImageNode(){
var newNode = document.createElement("li");
newNode.setAttribute("class","v-popover-wrap");
var str='追番';
newNode.innerHTML=str;
return newNode;
}
function templateModifier(Obj,getNewNode,caller){
if(Obj){
Obj.parentNode.insertBefore(getNewNode(),Obj);
timestamp=0;//crudely end
console.log("B增追>"+caller.name+" applied");
}else{
//console.log(caller.name+" waiting");
var timestampDiff=new Date().getTime()-timestamp;
if(timestampDiff>30*1000)return;
setTimeout(caller,500);
}
}
function oldModifier1(){//old version
var Obj=document.querySelector("#internationalHeader > div.mini-header.m-header > div > div.nav-user-center > div.user-con.signin > div:nth-child(5)");
templateModifier(Obj,getTextNode,oldModifier1);
}
function oldModifier2(){//old version read
var Obj=document.querySelector("#bili-header-container > div > div > ul.right-entry > li:nth-child(5)");
templateModifier(Obj,getImageNode,oldModifier2);
}
function newModifier1(){//new version
var Obj=document.querySelector("#i_cecream > div.bili-header.large-header > div.bili-header__bar > ul.right-entry > li:nth-child(5)");
templateModifier(Obj,getImageNode,newModifier1);
}
function newModifier2(){//new version video page
var Obj=document.querySelector("#biliMainHeader > div > div > ul.right-entry > li:nth-child(5)");
templateModifier(Obj,getImageNode,newModifier2);
}
function betaModifier1(){//beta version
var Obj=document.querySelector("#i_cecream > div.bili-feed4 > div.bili-header.large-header > div.bili-header__bar > ul.right-entry > li:nth-child(5)");
templateModifier(Obj,getImageNode,betaModifier1);
}
})();