// ==UserScript== // @name 哔哩哔哩(B站)评论区显示楼层 // @description bilibili哔哩哔哩网页端视频、番剧、动态显示评论区楼层与楼中楼楼层,理论兼容Bilibill Evolved(2022/05可用) // @author lchzh3473 , Modify by Tinhone // @namespace Original by lchzh3473 , Modify by Tinhone // @license GPL-3.0 // @version 1.0.1 // @icon https://app.bilibili.com/favicon.ico // @grant none // @compatible firefox V70+ // @compatible edge V70+ // @compatible chrome V70+ // @match *://www.bilibili.com/video/* // @match *://www.bilibili.com/read/cv* // @match *://www.bilibili.com/bangumi/play/* // @match *://t.bilibili.com/* // @match *://space.bilibili.com/* // @exclude *://t.bilibili.com/ // @run-at document-end // @downloadURL none // ==/UserScript== (function() { 'use strict'; setInterval(() => { const qwqwqwq1=document.querySelectorAll(".reply.btn-hover:not(.b)") //排除已被 qw class包含的元素 const qwqwqwq2=document.querySelectorAll(".list-item.reply-wrap:not(.a)")//寻找相应属性的div if(document.querySelector(".reply.btn-hover:not(.b)")){ for(const i1 of qwqwqwq1){ //设置 回复 按钮样式 i1.setAttribute("style","height:16px !important;padding-top:2px !important;padding-bottom:2px !important"); i1.classList.add("b"); } } if (document.querySelector(".list-item.reply-wrap:not(.a)")) { for (const i2 of qwqwqwq2){ //显示 显示楼中楼 按钮,以及对应功能 var i2_1=i2.querySelector(".operation.more-operation .opera-list ul:not(.b)") var li=document.createElement("li"); li.setAttribute("class","floor-in-floor") li.addEventListener("click",(()=>{ //点击事件 i2.classList.add("c") })) li.innerHTML="楼中楼楼层" i2_1.appendChild(li) i2_1.classList.add("b") } for (const i3 of qwqwqwq2) { //显示楼层 i3.classList.add("a"); const qwq = i3.querySelector(".info"); const xhr = new XMLHttpRequest(); //xhr.open("get", `//api.bilibili.com/x/v2/reply/detail?type=12&oid=1&root=${i.attributes["data-id"].value}`); //另一个api接口,可用 xhr.open("get", `//api.bilibili.com/x/v2/reply/info?type=12&oid=1&rpid=${i3.attributes["data-id"].value}`); xhr.responseType = "json"; xhr.withCredentials = true; xhr.send(); xhr.onload = () => { const data = xhr.response.data; const qwqwq = document.createElement("span"); qwqwq.setAttribute("style","height:16px;margin-right:14px"); qwqwq.innerHTML = `#${data.floor}`; qwq.appendChild(qwqwq); //加在div info最后 } } } if (document.querySelector(".list-item.reply-wrap.c .con .reply-box .reply-item.reply-wrap")){ for (const i4 of document.querySelectorAll(".list-item.reply-wrap.c")){ const i4_2=i4.querySelectorAll(".con .reply-box .reply-item.reply-wrap:not(.d)") for (const i4_2_1 of i4_2){ //显示楼中楼楼层 const i4_2_1_1=i4_2_1.querySelector(".info") i4_2_1.classList.add("d") const xhr=new XMLHttpRequest() xhr.open("get",`//api.bilibili.com/x/v2/reply/info?type=12&oid=1&rpid=${i4_2_1.attributes["data-id"].value}`) xhr.responseType="json" xhr.withCredentials=true xhr.send() xhr.onload=()=>{ const data=xhr.response.data const span=document.createElement("span") span.setAttribute("style","height:16px;margin-right:14px") span.innerHTML=`#${data.floor}` i4_2_1_1.appendChild(span) } } } } }, 1000); })();