大点儿操作方便
// ==UserScript==
// @name B站直播增强型关注列表 经典版
// @namespace http://tampermonkey.net/
// @version 0.3.0
// @description 大点儿操作方便
// @author SoraYuki
// @include /https:\/\/live.bilibili.com\/.*/
// @grant none
// @noframes
// ==/UserScript==
(function() {
'use strict';
var elem = document.createElement("button");
elem.textContent = '关注列表';
elem.style = 'position: absolute; top: 0px; left: 0px; width: 80px; height: 50px; z-index: 200000000;';
elem.addEventListener('click', async function() {
let result = await fetch('https://api.live.bilibili.com/xlive/web-ucenter/v1/xfetter/GetWebList?page=1&page_size=10', {credentials: 'include'});
let j = await result.json();
let tbl = document.getElementById("sorayuki-follow-list");
if (!(tbl === undefined || tbl === null)) {
tbl.remove();
} else {
tbl = document.createElement("table");
tbl.id = "sorayuki-follow-list";
tbl.style = 'position: absolute; top: 50px; left: 0px; z-index: 200000000; background-color: white;';
tbl.border = '2';
document.body.append(tbl);
let count = j.data.count;
let offset = 0;
while(count > offset) {
if (offset > 0) {
let result = await fetch('https://api.live.bilibili.com/xlive/web-ucenter/v1/xfetter/GetWebList?page=' + (offset / 10 + 1) + '&page_size=10', {credentials: 'include'});
j = await result.json();
}
for(let i = 0; i < j.data.rooms.length; ++i) {
let tr = document.createElement("tr");
let x = j.data.rooms[i];
let icon_td = document.createElement("td");
let icon_img = document.createElement("img");
icon_img.style = "width: 48px; height: 48px;";
icon_img.src = x.face;
icon_td.append(icon_img);
tr.append(icon_td);
let link_td = document.createElement("td");
let link_a = document.createElement("a");
link_a.textContent = '【' + x.uname + "】" + x.title;
link_a.href = x.link;
link_td.append(link_a);
tr.append(link_td);
tbl.append(tr);
}
offset += j.data.rooms.length;
}
}
});
document.body.append(elem);
})();