您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
bilibili播放视频倍速自定义,刷新浏览器也不会丢失之前设置的速度
当前为
// ==UserScript== // @name bilibili播放视频倍速自定义,可记忆 // @namespace EsfB2XVPmbThEv39bdxQR2hzid30iMF9 // @version 0.8 // @description bilibili播放视频倍速自定义,刷新浏览器也不会丢失之前设置的速度 // @author tomoya // @include http*://*bilibili.com/video/* // @grant none // ==/UserScript== (function () { 'use strict'; let videoSpeedElement; let style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = "#video_speed_div button { outline: 0; padding: 3px 5px; margin-left: 10px; background-color: #e2e0e0; border: 0; color: #222; cursor: pointer;} .video_speed_div-button-active { border: 0!important; background-color: #ffafc9!important; color: #fff!important; }"; document.getElementsByTagName('head').item(0).appendChild(style); let _interval = setInterval(function () { if (document.querySelector(".bb-comment") && document.getElementById("video_speed_div") === null) { addSpeedBtns(); } }, 100); function addSpeedBtns() { videoSpeedElement = document.createElement("div"); videoSpeedElement.setAttribute("id", "video_speed_div"); let speedArr = [0.5, 1, 1.5, 2, 2.5, 3, 4, 5]; for (let i = 0; i < speedArr.length; i++) { let speed = speedArr[i]; let btn = document.createElement("button"); btn.innerHTML = "x" + speed; btn.style.width = "40px"; btn.setAttribute("id", "third_video_plugin_btn_" + speed); btn.addEventListener("click", changeVideoSpeed); videoSpeedElement.appendChild(btn); } videoSpeedElement.style.width = "100%"; videoSpeedElement.style.height = "30px"; document.querySelector("#viewbox_report").querySelector(".video-data:last-child").appendChild(videoSpeedElement); clearInterval(_interval); // 加载之间已经设置的速度, 在同一个页面中切换视频后,设置的速度就没了,这里用一个定时器,200ms设置一下 setInterval(function () { let third_video_plugin_speed = localStorage.getItem("third_video_plugin_speed"); if (!third_video_plugin_speed) { third_video_plugin_speed = '1'; localStorage.setItem("third_video_plugin_speed", third_video_plugin_speed); } // 设置倍速按钮高亮 hightlightBtn(third_video_plugin_speed); document.querySelector("video:first-child").playbackRate = third_video_plugin_speed; }, 200); } function changeVideoSpeed(e) { let speed = parseFloat(e.target.innerHTML.replace("x", "")); localStorage.setItem("third_video_plugin_speed", speed); hightlightBtn(speed); } function hightlightBtn(speed) { let currentSpeedBtn = document.getElementById("third_video_plugin_btn_" + speed); if (currentSpeedBtn.className.indexOf("video_speed_div-button-active") === -1) { for (let i = 0; i < videoSpeedElement.childNodes.length; i++) { let btn = videoSpeedElement.childNodes[i]; btn.setAttribute("class", ""); } currentSpeedBtn.setAttribute("class", "video_speed_div-button-active"); } } })();