您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
刷经验不用开直播页面哦
当前为
// ==UserScript== // @name BiliLive Exp++ // @namespace https://std4453.github.io/ // @locale zh-CN // @version 0.1 // @description 刷经验不用开直播页面哦 // @author std4453 // @match http*://link.bilibili.com/p/center/* // @grant GM_log // @connect api.live.bilibili.com // @iconURL http://live.bilibili.com/favicon.ico // @icon64URL http://live.bilibili.com/favicon.ico // @run-at document-idle // ==/UserScript== (function() { 'use strict'; var DEBUG = true; var userOnlineHeart = "http://api.live.bilibili.com/User/userOnlineHeart"; var heartBeatB = "http://api.live.bilibili.com/feed/v1/feed/heartBeat?_="; var interval = 30000; var fetch = (url, method) => { return new Promise((resolve, reject) => { var xhr = new XMLHttpRequest(); xhr.open(method, url); xhr.withCredentials = true; xhr.onload = e => { if (xhr.readyState == 4) { if (xhr.status == 200) resolve(xhr.responseText, url); else eject(new Error(xhr.statusText)); } }; xhr.onerror = reject; xhr.send(null); }); }; var send = (url, method) => { fetch(url, method).then(text => { if (DEBUG) console.log("Loaded " + url + ", get" + text); }, err => { if (DEBUG) { console.error("Unable to load " + url + ", got error:"); console.error(err); } }); }; var sendHeartBeat = () => { if (DEBUG) GM_log("Sending heartbeat..."); send(userOnlineHeart, "POST"); send(heartBeatB + ((new Date()).getTime()), "GET"); if (DEBUG) GM_log("Heartbeat sent."); }; setInterval(sendHeartBeat, interval); GM_log("BiliLive Exp++ initialized!"); })();