您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
2022/4/30 22:46:41
// ==UserScript== // @name 关于百度网盘 // @namespace Violentmonkey Scripts // @match https://pan.baidu.com/mbox/streampage // @match https://pan.baidu.com/mbox/homepage // @match https://pan.baidu.com/play/video#/video // @match https://pan.baidu.com/disk/main // @grant GM_getValue // @grant GM_setValue // @grant GM_addStyle //// @grant GM_registerMenuCommand //// @grant GM_openInTab // @version 1.1 // @author Docase // @description 2022/4/30 22:46:41 // ==/UserScript== GM_addStyle(` .gOIbzPb{ visibility:hidden; } .video-title-right{ display:none; } .vjs-duration-display{ user-select:none; cursor:pointer; } [class$=footer]{ text-align:center; } `) if(location.href.indexOf("https://pan.baidu.com/mbox/homepage") != -1) return //劫持shadow-mode Element.prototype._attachShadow = Element.prototype.attachShadow; Element.prototype.attachShadow = function () { return this._attachShadow({mode:'open'}); }; var util = { GetRequest: function (value) { // for vue //url例子:www.bicycle.com?id="123456"&Name="bicycle"; var url = decodeURI(location.href).split("?"); //?id="123456"&Name="bicycle"; var object = {}; if(url.length > 1)//url中存在问号,也就说有参数。 url.indexOf("?") != -1 { //var str = url.substr(1); //得到?后面的字符串 var str = url[1] var strs = str.split("&"); //将得到的参数分隔成数组[id="123456",Name="bicycle"]; for(var i = 0; i < strs.length; i ++) { object[strs[i].split("=")[0]]=strs[i].split("=")[1] } } return object[value]; } } function vedioPalyedRecord (){ var arr = util.GetRequest("path").split("%2F") if(!arr) return var p = arr[ arr.length - 2 ] var n = arr[ arr.length - 1 ] console.log( p ) document.querySelector(".video-title-left").innerText = p + " / " + n arr.pop() np = "【" + p + "】(" + arr.join("/") + ")" var v = GM_getValue(np,[]) if(v[0]!=n){ if(v.length >10){ v.pop() } v.unshift(n) } GM_setValue(np , v) v.splice(1,0,"---") document.querySelector(".video-title-left").setAttribute("title",v.join("\n")) document.querySelector("[class$=footer]").innerHTML = arr.join("/") } function palyRate(){ let sroot = document.querySelector("#video-root").shadowRoot let op = sroot.querySelectorAll(".vjs-menu-footnote-text")[1].parentNode let style = document.createElement("style"); let liPlus = document.createElement("button") let liMinus = document.createElement("button") liPlus.className = "liButton" liMinus.className = "liButton" liPlus.innerText = "+" liMinus.innerText = "-" op.innerHTML = "" style.innerText = ` .liButton{cursor:pointer;font-weight:700;font-size:22px !important;margin-right:5px;} .liButton:nth-child(2){font-weight:900} .liButton:hover{color:blue;} ` op.appendChild(liPlus) op.appendChild(liMinus) sroot.appendChild(style) function refreshRate(){ let rate = (Math.round(sroot.querySelector("video").playbackRate*10)/10) if(rate - 1 == 0){ rate = "倍速" }else{ rate = rate.toString() + '倍' } sroot.querySelectorAll(".vjs-full-menu-text")[1].innerText = rate } liPlus.addEventListener("click",function(){ sroot.querySelector("video").playbackRate += 0.1 refreshRate() }) liMinus.addEventListener("click",function(){ sroot.querySelector("video").playbackRate -= 0.1 refreshRate() }) console.log( "" ) var isZDown = false var toThree = function(){ var sv = sroot.querySelector("video") sv.setAttribute("recordRate",sv.playbackRate.toString()) sv.playbackRate = 3.0 refreshRate() } sroot.querySelector(".vjs-duration-display").addEventListener("mousedown",(ev)=>{ if(ev.button == 0){ toThree() } }) sroot.addEventListener("keydown",(ev)=>{ if(ev.keyCode == 90){ if(isZDown != true){ isZDown = true toThree() } } }) var backFromThree = function(){ // for mouseout mouseup keyup var sv = sroot.querySelector("video") sv.playbackRate = parseFloat(sv.getAttribute("recordRate",1.0)) refreshRate() } sroot.querySelector(".vjs-duration-display").addEventListener("mouseout", (ev)=>{ if(ev.button == 0){ backFromThree() } }) sroot.querySelector(".vjs-duration-display").addEventListener("mouseup", (ev)=>{ if(ev.button == 0){ backFromThree() } }) sroot.addEventListener("keyup", (ev)=>{ if(ev.keyCode == 90){ isZDown = false backFromThree() } }) document.body.addEventListener("keyup", (ev)=>{ if(ev.keyCode == 90){ isZDown = false backFromThree() } }) } window.onload = () => { vedioPalyedRecord() setTimeout(function(){ palyRate() },1500) }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址