// ==UserScript== // @name bilibili首页增加[关注]列表 // @version 6.1 // @description 在bilibili网页端上方菜单添加[关注]的列表,可自定义更改关注列表,快速进入你关注的up主空间。 // @author 冬瓜语 // @match *://www.bilibili.com/* // @match *://space.bilibili.com/* // @namespace https://greasyfork.org/users/307669 // @downloadURL none // ==/UserScript== (function() { var cookies = document.cookie; var id=cookies.match(/DedeUserID=(\d+)/)[1]; go(); function go(){ var Obj=document.querySelector("[report-id=playpage_dynamic]"); var Obj2=document.querySelector("#internationalHeader > div.mini-header.m-header > div > div.nav-user-center > div.user-con.signin > div:nth-child(3)"); var type; if(Obj){ type = 1; $("").insertAfter(Obj); $("
aaaaaaa
").insertAfter(Obj); var Obj_menu=document.querySelector("[report-id=Focus]"); $("").insertAfter(Obj_menu); var Obj_UP=document.querySelector("[report-id=UP]"); var now = window.location.href; $("     设置   ").insertAfter(Obj_UP); main(); }else if(Obj2){ type = 2; var newNode = document.createElement("div"); newNode.setAttribute("id","close"); newNode.setAttribute("class","item"); newNode.innerHTML=" 关注"; Obj2.insertBefore(newNode,null); var Obj_menu = document.querySelector("#internationalHeader > div.mini-header.m-header > div > div.nav-user-center > div.user-con.signin > div:nth-child(3) > div.item"); var newNode3 = document.createElement("div"); newNode3.setAttribute("id","hh"); newNode3.setAttribute("class","up"); newNode3.setAttribute("style","display:none;position: absolute;z-index: 1;width: 110px; height: 42px; background-color: #FFF; border-radius: 0 0 4px 4px; box-shadow:rgba(0,0,0,0.16) 0px 2px 4px; top:42px;left:-35px"); Obj_menu.insertBefore(newNode3,null); var newUl = document.createElement("ul"); newUl.setAttribute("id","u"); newUl.setAttribute("report-id","UP"); newUl.setAttribute("class","sub-nav"); newUl.setAttribute("style","padding: 0px;margin: 0px;"); newNode3.insertBefore(newUl,null); var Obj_UP=newUl; main(); }else{setTimeout(go,500);} function main() { var timer = null; var first=document.body.firstChild; /* if(now != "https://www.bilibili.com/"){ $(" ").insertAfter(first); window.onload = function(){ //在页面加载完成后主页面向iframe发送请求 window.frames[0].postMessage('jogging, reading and writing','http://www.bilibili.com'); } } */ /* // 主页面监听message事件, window.addEventListener('message', function(e){ var data = e.data; document.querySelector('p').innerHTML = data; }, false); */ /** *自动添加元素 */ if(localStorage.length>0){ var number = 1; var x="a"; for(var i=0;iname").insertAfter(Obj_UP); document.getElementById("aa").innerHTML=Nname; document.getElementById("aa").href=siteurl; x="a"+number.toString(); $('#aa').attr('id', x); }else{ var newNodeP = document.createElement("a"); newNodeP.setAttribute("id","a"+number.toString()); newNodeP.setAttribute("class","im-list"); newNodeP.innerHTML=Nname; newNodeP.href=siteurl; newNodeP.setAttribute("target","_blank"); newNodeP.setAttribute("style","display: block;text-align:center; color: #222222 ;height :42px;"); Obj_UP.insertBefore(newNodeP,null); } number++; } } } /** *新版在此添加设置按钮 */ if(type == 2){ /** *添加设置按钮 */ var newNode4 = document.createElement("a"); newNode4.setAttribute("id","setting"); newNode4.setAttribute("class","im-list"); newNode4.setAttribute("href","#"); newNode4.setAttribute("style","display: block; color: #222222; height:42px;text-align:center;"); newNode4.innerHTML="     设置  "; Obj_UP.insertBefore(newNode4,null); } /** *计算列表高度 */ var word = document.getElementsByClassName("im-list"); var number2=0; for(var j in word){number2++;} var h=(number2-3)*42; document.getElementById("hh").style.height = h+"px"; /** *鼠标悬停产生阴影 */ for(var k in word) { word[k].onmouseover = function(){ this.style.background="#E5E9EF"; this.style.color="#00AED6"; this.style.borderRadius="0 0 4px 4px"; //会使每一个超链接被选中时都变成圆角 } word[k].onmouseout = function(){ this.style.background="#FFF"; this.style.color="#222222"; this.style.borderRadius="0 0 4px 4px"; //会使每一个超链接被选中时都变成圆角 } } /** *鼠标悬停展开列表 */ if(type == 1){ $(document).ready(function(){ $("#ty").mouseenter(function(){ setTimeout(show,300); function show(){ document.getElementById("hh").style.display=""; $("#hh").animate({ opacity: 1, top:"42px", },300); } }); }); }else{ var OpenListBtn = document.getElementById("ty"); OpenListBtn.onmouseenter = function(){ timer =setTimeout(function(){ document.getElementById("hh").style.display=""; /* $("#hh").animate({ opacity: 1, top:"42px", },300); */ },400); } } /** *鼠标移出隐藏列表 */ if(type == 1){ $(document).ready(function(){ $("#close").mouseleave( function(){ $("#hh").animate({ opacity: 0, top:"46px", },300); setTimeout(hid,300); //动画结束后隐藏 function hid(){ document.getElementById("hh").style.display="none"; } }); }); }else{ var CloseListBtn = document.getElementById("hh"); CloseListBtn.onmouseleave = function(){ /* $("#hh").animate({ opacity: 0, top:"46px", },300); */ timer =setTimeout(function(){ document.getElementById("hh").style.display="none"; },300); } } /** *可视化窗口 */ if(type == 1){ $("").insertBefore(first); }else{ var Obj2_shadow = document.querySelector("#app"); var newTable1 = document.createElement("div"); newTable1.setAttribute("id","BackGround"); newTable1.setAttribute("style","display:none;"); Obj2_shadow.insertBefore(newTable1,null); var newTable2 = document.createElement("div"); newTable2.setAttribute("id","shadow"); newTable2.setAttribute("style","width:100%;height:100%;background:black;position:absolute;z-index:10001;top: 0;left: 0;filter:alpha(opacity:80);opacity:0.8;"); newTable1.insertBefore(newTable2,null); //Obj2.insertBefore(newTable2,null); var newTable3 = document.createElement("div"); newTable3.setAttribute("id","panel"); newTable3.setAttribute("style","box-shadow:rgba(0.5,0.5,0.5,0.5) 4px 4px 4px 4px;position: absolute; background: white; border-radius: 10px; padding: 20px; top: 400px; left: 50%; width: 500px;height: 410px; transform: translate(-50%, -50%); cursor: default;z-index:10002;filter:alpha(opacity:100);opacity:1;"); newTable1.insertBefore(newTable3,null); var newTable4 = document.createElement("text"); newTable4.setAttribute("style","font-size:20px"); newTable4.innerHTML="设置"; newTable3.insertBefore(newTable4,null); var newTable5 = document.createElement("text"); newTable5.setAttribute("id","closeX"); newTable5.setAttribute("style","color:grey;font-size:25px;float:right"); newTable5.innerHTML="X"; newTable3.insertBefore(newTable5,null); newTable3.innerHTML+="



"; var newTable6 = document.createElement("form"); newTable6.innerHTML="         请输入UP主的名称:   "; newTable3.insertBefore(newTable6,null); var newTable7 = document.createElement("input"); newTable7.setAttribute("id","Name"); newTable7.setAttribute("type","text"); newTable7.setAttribute("placeholder","如:敖厂长"); newTable7.setAttribute("required","required"); newTable7.setAttribute("maxlength","9"); newTable7.setAttribute("style","color:gray; width: 280px; border: 1px solid #ccc; border-radius: 1px;"); newTable7.innerHTML="         请输入UP主的名称:   "; newTable6.insertBefore(newTable7,null); newTable3.innerHTML+="


"; var newTable8 = document.createElement("form"); newTable8.setAttribute("report-id","Theurl"); newTable8.innerHTML="         请输入UP主的网址:   "; newTable3.insertBefore(newTable8,null); var newTable9 = document.createElement("input"); newTable9.setAttribute("id","Url"); newTable9.setAttribute("type","text"); newTable9.setAttribute("placeholder","如:https://space.bilibili.com/122879"); newTable9.setAttribute("required","required"); newTable9.setAttribute("style","color:gray; width: 280px; border: 1px solid #ccc; border-radius: 1px;"); newTable9.innerHTML="         请输入UP主的名称:   "; newTable8.insertBefore(newTable9,null); newTable8.innerHTML += "

          "; newTable8.innerHTML += "       "; newTable8.innerHTML += "       "; newTable8.innerHTML += "       提示:删除操作只需填写已有的UP主名称"; newTable3.innerHTML+="



"; } /** *设置按钮(打开设置面板) */ if(type == 1){ $(document).ready(function(){ $("#setting").click(function(){ $("body").css({overflow:"hidden"}); //禁用滚动条 document.getElementById("BackGround").style.display=""; $("#hh").animate({ opacity: 0, top:"46px", },300); setTimeout(hid,300); //动画结束后隐藏 function hid(){ document.getElementById("hh").style.display="none"; } }); }); }else{ var settingBtn = document.getElementById("setting"); settingBtn.onclick = function(){ document.documentElement.style.overflowY = 'hidden'; //禁用滚动条 document.getElementById("BackGround").style.display=""; $("#hh").animate({ opacity: 0, top:"46px", },300); setTimeout(hid,300); //动画结束后隐藏 function hid(){ document.getElementById("hh").style.display="none"; } } } /** *显示现有元素 */ // $(document).ready(function(){ var list = document.getElementById("list"); if(localStorage.length>0){ var result = "
"; result += ""; for(var i=0;i"; } } result += "
名称网址
"+siteurl+"
"; list.innerHTML = result; }else{ list.innerHTML = "数据为空……"; } // }); var Turl=document.querySelector("[report-id=Theurl]"); // $(" ").insertAfter(Turl); /** *增加记录 */ //$(document).ready(function(){ if(type == 1){ $("#submit").mouseenter(function(){ //悬停变色 document.getElementById("submit").style.color="red"; }); $("#submit").mouseleave(function(){ document.getElementById("submit").style.color="#00AED6"; }); $("#submit").click(function(){ var name=document.getElementById("Name").value; var Nname="兾"+name; var address=document.getElementById("Url").value; if (name==null || name==""){ alert("Up主名称不可为空!"); } else if (address==null || address==""){ alert("Up主网址不可为空!"); }else{ localStorage.setItem(Nname, address); alert("添加成功!刷新后生效!"); } }); }else{ var submitBtn = document.getElementById("submit"); submitBtn.onmouseover = function(){ document.getElementById("submit").style.color="red"; } submitBtn.onmouseout = function(){ document.getElementById("submit").style.color="#00AED6"; } submitBtn.onclick = function(){ var name=document.getElementById("Name").value; var Nname="兾"+name; var address=document.getElementById("Url").value; if (name==null || name==""){ alert("Up主名称不可为空!"); } else if (address==null || address==""){ alert("Up主网址不可为空!"); }else{ localStorage.setItem(Nname, address); alert("添加成功!刷新后生效!"); } } } // }); /** *删除记录 */ //$(document).ready(function(){ if(type == 1){ $("#delete").mouseenter(function(){ //悬停变色 document.getElementById("delete").style.color="red"; }); $("#delete").mouseleave(function(){ document.getElementById("delete").style.color="#00AED6"; }); $("#delete").click(function(){ var name=document.getElementById("Name").value; var mk = 0; if (name==null || name==""){ alert("Up主名称不可为空!"); }else{ for(var i=0;i