您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
默认倍速播放,首页添加推荐模块
当前为
// ==UserScript== // @name B站小工具 // @namespace https://gf.qytechs.cn/zh-CN/scripts/428729 // @version 0.1 // @description 默认倍速播放,首页添加推荐模块 // @author Hugo16 // @match https://www.bilibili.com/* // @icon https://www.google.com/s2/favicons?domain=bilibili.com // @require http://code.jquery.com/jquery-1.7.2.min.js // @run-at document-end // @grant GM_addStyle // ==/UserScript== (function() { 'use strict'; // 初始化设置界面 $("body").append(` <div class='contact-help settings-wrap'> <ul> <li class="set-yes">✅</li> <li class="set-no set-hide">❌</li> <li class="set-speed">⏩</li> </ul> </div> <div class='contact-help speed-wrap set-hide'> <ul> <li>2.0x</li> <li>1.5x</li> <li>1.25x</li> <li>1.0x</li> <li>0.75x</li> <li>0.5x</li> </ul> </div> `) function toggleRcmd(){ $(".set-yes").toggleClass("set-hide"); $(".set-no").toggleClass("set-hide"); $(".rcmd-wrap").toggleClass("set-hide"); } $(".set-yes").click(function(){ toggleRcmd(); document.cookie = 'isShowRcmd=0' }); $(".set-no").click(function(){ toggleRcmd(); document.cookie = 'isShowRcmd=1'; if($(".rcmd-wrap").length==0){ recommend(); } }); $(".set-speed").click(function(){ $(".speed-wrap").toggleClass("set-hide"); }); $(".speed-wrap ul li").click( function(){ speed = $(this).index(); document.cookie = 'bspeed='+speed; $(this).addClass("selected").siblings().removeClass("selected"); $(".speed-wrap").toggleClass("set-hide"); } ) // 读取推荐设置 var isShowRcmd; var rcmdIndex = document.cookie.indexOf('isShowRcmd='); if (rcmdIndex>-1) { isShowRcmd = document.cookie.slice(rcmdIndex + 11, rcmdIndex + 12); if (isShowRcmd == 1) { recommend(); } else { $(".set-yes").toggleClass("set-hide"); $(".set-no").toggleClass("set-hide"); } } else { document.cookie = 'isShowRcmd=1' isShowRcmd = 1; }; // 读取播放速度 var speed; var speedIndex = document.cookie.indexOf('bspeed='); if (speedIndex>-1) { speed = document.cookie.slice(speedIndex + 7, speedIndex + 8); $(".speed-wrap ul li").eq(speed).toggleClass("selected"); } else { document.cookie = 'bspeed=3' speed = 3; $(".speed-wrap ul li").eq(speed).toggleClass("selected"); } // 播放速度 function setPlayRate(){ var video = document.getElementsByTagName("video")[0]; if(video == undefined){ console.log("非视频页面") return; } else{ var temp = video.play; video.play = function(){ let li = document.getElementsByClassName('bilibili-player-video-btn-speed-menu-list')[speed]; li.click(); temp.call(this); video.play = temp; video.pause(); } } } // 视频推荐 function recommend(){ if(window.location.href!="https://www.bilibili.com/"){ return; } var spm_id_from = $(".rcmd-box .info-box a").eq(0)[0].href.split("=")[1]; spm_id_from = spm_id_from.slice(0,spm_id_from.length-2); var csrf = document.cookie.indexOf('bili_jct='); csrf = document.cookie.slice(csrf + 9, csrf + 41);//9+32 $(".first-screen .space-between").eq(0).after("<div class='rcmd-wrap'><div class='rcmd-1'><div id='waitrcmd' style='height:100px'>加载中。。。</div></div></div>"); var isFirst = true; var xmlhttp; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if(this.responseURL!="https://api.bilibili.com/x/web-interface/index/top/rcmd?fresh_type=3"){ return; } // 添加推荐列表 if (xmlhttp.readyState==4 && xmlhttp.status==200) { var item = JSON.parse(xmlhttp.responseText).data.item; for(let i =0;i<item.length;i++){ var fater = $( `<div class="video-card-reco" style="width:280px;height:170px;margin-bottom:20px"> <div class="info-box"> <a href="//www.bilibili.com/video/${item[i].bvid}?spm_id_from=${spm_id_from}.${(i%6)+1}" target="_blank"> <img src="${item[i].pic}@400w_242h_1c.jpg" alt="${item[i].title}"> <div class="info" style="padding-top:80px"> <p title="${item[i].title}" class="title">${item[i].title}</p> <p class="up"><i class="bilifont bili-icon_xinxi_UPzhu"></i>${item[i].owner.name}</p> <p class="play">${(item[i].stat.view/1000).toFixed(1)}万播放</p> </div> </a> </div> </div>` ); //稍后再看 var addLater = $(` <div class="watch-later-video van-watchlater black"> <span class="wl-tips set-hide" style="left: -21px;">稍后再看</span> </div> `); var delLater = $(` <div class="watch-later-video van-watchlater black added set-hide"> <span class="wl-tips set-hide" style="left: -9px;">移除</span> </div> `) addLater.hover( function(){ $(this).children().toggleClass("set-hide"); } ); addLater.click( function(){ $(this).toggleClass("set-hide"); $(this).next().toggleClass("set-hide"); xmlhttp.open("POST","https://api.bilibili.com/x/v2/history/toview/add?aid="+item[i].id+"&csrf="+csrf,true); xmlhttp.send(); } ); delLater.hover( function(){ $(this).children().toggleClass("set-hide"); } ); delLater.click( function(){ $(this).toggleClass("set-hide"); $(this).prev().toggleClass("set-hide"); xmlhttp.open("POST","https://api.bilibili.com/x/v2/history/toview/del?aid="+item[i].id+"&csrf="+csrf,true); xmlhttp.send(); } ); fater.append(addLater); fater.append(delLater); $(".rcmd-1").append(fater); } $("#waitrcmd").remove(); // 第一次加载两页 if(isFirst){ isFirst = false; xmlhttp.open("GET","https://api.bilibili.com/x/web-interface/index/top/rcmd?fresh_type=3",true); xmlhttp.send(); } } } xmlhttp.open("GET","https://api.bilibili.com/x/web-interface/index/top/rcmd?fresh_type=3",true); xmlhttp.withCredentials = true; xmlhttp.send(); // 滚动自动加载 var timer = null; $(".rcmd-wrap").scroll(function(){ clearTimeout(timer); timer = setTimeout(function(){ var scrollHeight = document.querySelector(".rcmd-wrap").scrollHeight; var scrollTop = document.querySelector(".rcmd-wrap").scrollTop; var clientHeight = document.querySelector(".rcmd-wrap").clientHeight; if (scrollHeight - clientHeight <= (scrollTop+200)) { xmlhttp.open("GET","https://api.bilibili.com/x/web-interface/index/top/rcmd?fresh_type=3",true); xmlhttp.withCredentials = true; xmlhttp.send(); } },300); }); } setPlayRate(); })(); GM_addStyle(` .settings-wrap{ height:auto; top:600px; left:auto !important; cursor: pointer; padding:2px 0; } .settings-wrap ul li{ width: 26px; height: 26px; line-height: 26px; text-align: center; } .settings-wrap ul li:hover{ background: rgba(0,0,0,.1); } .speed-wrap{ width: 40px; height:auto; top:478px; left:35px !important; cursor: pointer; padding:2px 0; } .speed-wrap ul li{ width: 39px; height: 30px; line-height: 30px; text-align: center; } .speed-wrap ul li:hover{ background: rgba(0,0,0,.1); } .speed-wrap ul .selected{ color:#fff; background-color: #73c9e5; } .set-hide{ display:none; } .rcmd-wrap{ width:100%; height:500px; overflow-y:scroll; margin-bottom:30px; padding:10px; border:1px solid #e7e7e7; border-radius:2px; background: #f4f4f4; } .rcmd-1{ width:100%; display:flex; flex-wrap:wrap; justify-content:space-between } .rcmd-wrap::-webkit-scrollbar { /*滚动条整体样式*/ width :10px; height:1px; } .rcmd-wrap::-webkit-scrollbar-thumb { /*滚动条里面小方块*/ border-radius:10px; background:#ccc; } .rcmd-wrap::-webkit-scrollbar-track { /*滚动条里面轨道*/ box-shadow:inset 0 0 5px rgba(0,0,0,0.1); border-radius:10px; background:#ededed; } `)
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址