使用触发请求方式获取全部高能用户数量,然后加到高能用户后
// ==UserScript==
// @name PC Web端 Bilibili直播 高能用户数量显示
// @namespace http://tampermonkey.net/
// @version 1.1
// @description 使用触发请求方式获取全部高能用户数量,然后加到高能用户后
// @author NyanKoSenSei
// @license MIT
// @match *://live.bilibili.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=bilibili.com
// @require https://code.jquery.com/jquery-1.12.4.min.js
// @compatible chrome
// @grant none
// ==/UserScript==
window.onload = function() {
// 延时是为了适配某些老版本内核的浏览器先加载完毕window.__NEPTUNE_IS_MY_WAIFU__.roomInitRes对象
setTimeout(function() {
// 获取ruid(uid)和roomId(room_id)
var nowRuid = window.__NEPTUNE_IS_MY_WAIFU__.roomInitRes.data.uid;
var nowRoomID = window.__NEPTUNE_IS_MY_WAIFU__.roomInitRes.data.room_id;
// 定义URL
var hotUserUrl = "https://api.live.bilibili.com/xlive/general-interface/v1/rank/getOnlineGoldRank?ruid=" + nowRuid + "&roomId=" + nowRoomID + "&page=1&pageSize=1";
// 创建Ajax对象
var hotUserXmlHttp = new XMLHttpRequest();
// 页面初始化出来以后也需要先刷一下
refreshHotUserSize();
// 给高能用户区域绑定鼠标移入事件
$("#rank-list-ctnr-box > div:eq(1)").mouseenter(function(){
// 检查当前是否指向的是高能用户列表,排除掉选中大航海页签的时候刷新
if ($("#rank-list-ctnr-box > div > ul > li:eq(0)").hasClass("active")) {
// 触发刷新
refreshHotUserSize();
}
});
// 刷新高能用户数量
function refreshHotUserSize() {
// 创建请求
hotUserXmlHttp.open("GET", hotUserUrl, false);
// 发送Get请求
hotUserXmlHttp.send();
// 从返回值内获取总数量
if (hotUserXmlHttp.response !== undefined && hotUserXmlHttp.response !== '') {
var hotUserSize = JSON.parse(hotUserXmlHttp.response).data.onlineNum;
// 重定义
$("#rank-list-ctnr-box > div > ul > li:eq(0)").text("高能用户(" + hotUserSize + ")");
}
}
}, 3000);
};