// ==UserScript== // @name 百度网盘自定义倍速播放 // @namespace http://tampermonkey.net/ // @version 4.1 // @description 第一次写的脚本,主要是考研看视频舒服一点,设置了一个可以自定义倍速的脚本,后面会逐渐完善和增加功能,欢迎反馈 // @author 枫影 // @match *://pan.baidu.com/play/video // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; //生成倍速下拉菜单 function createSelect(id){ var s=document.createElement("SELECT"); s.setAttribute("id",id); s.setAttribute("lay-verify","required"); var p0=document.createElement("OPTION"); var p1=document.createElement("OPTION"); var p2=document.createElement("OPTION"); var p3=document.createElement("OPTION"); var p4=document.createElement("OPTION"); var p5=document.createElement("OPTION"); p0.setAttribute("id","p0"); p1.setAttribute("id","p1"); p2.setAttribute("id","p2"); p3.setAttribute("id","p3"); p4.setAttribute("id","p4"); p5.setAttribute("id","p5"); p0.setAttribute("value","1"); p1.setAttribute("value","0.5"); p2.setAttribute("value","1.0"); p3.setAttribute("value","1.5"); p4.setAttribute("value","2"); p5.setAttribute("value","5"); p0.innerHTML="快捷倍速"; p1.innerHTML="0.5"; p2.innerHTML="1.0"; p3.innerHTML="1.5"; p4.innerHTML="2"; p5.innerHTML="5"; s.add(p0); s.add(p1); s.add(p2); s.add(p3); s.add(p4); s.add(p5); return s; } function createInput(inid,onid,selectid){ window.onload=function(){ let fast=readCookie("fast"); if(fast==null||fast==""||fast==NaN){ fast=1.00; writeCookie("fast",fast,30); } else{ fast=parseFloat(fast).toFixed(2); } layui.use('layer', function(){ var layer = layui.layer; layer.msg('倍速脚本加载完成!欢迎使用,历史倍速:'+fast); }); } //生成元素 let cr=document.createElement("BUTTON"); cr.setAttribute("class","layui-btn layui-btn-normal layui-btn-lg"); cr.setAttribute("id","create"); let sm=document.createElement("i"); sm.setAttribute("class","layui-icon layui-icon-face-smile-b"); sm.setAttribute("style","font-size: 30px; color: #ffffff;"); cr.setAttribute("title","隐藏倍速工具箱"); cr.appendChild(sm); let f=document.createElement("fieldset"); f.setAttribute("class","layui-elem-field"); f.setAttribute("id","box"); let le=document.createElement("legend"); le.innerHTML="视频倍速工具箱"; f.appendChild(le); var d=document.createElement("FORM"); d.style.width="420px"; d.style.height="65px"; d.setAttribute("id","inform"); d.setAttribute("class","layui-form"); var init=document.createElement("INPUT"); init.setAttribute("type","text"); init.setAttribute("placeholder","请输入你想倍速的倍数"); init.setAttribute("id",inid); init.setAttribute("class","layui-input"); var on=document.createElement("BUTTON"); var res=document.createElement("BUTTON"); on.innerHTML="确认"; on.setAttribute("id",onid); on.setAttribute("class","layui-btn layui-btn-sm"); res.setAttribute("type","reset"); res.innerHTML="清空"; res.setAttribute("class","layui-btn layui-btn-normal layui-btn-sm"); var se=createSelect(selectid); var pa=document.createElement("button"); let fast=readCookie("fast"); if(fast!=null&&fast!=""&&fast!=NaN){ fast=parseFloat(fast).toFixed(2); } else{ fast=1.0; } if(readCookie("past")){ delCookie("past"); } writeCookie("past",fast,30); pa.innerHTML="恢复记忆"+fast; pa.setAttribute("id","past"); pa.setAttribute("class","layui-btn layui-btn-normal"); //引入layui框架 let js=document.createElement("script"); js.setAttribute("type","text/javascript"); js.setAttribute("src","https://www.layuicdn.com/layui-v2.5.6/layui.js"); let css=document.createElement("link"); css.setAttribute("type","text/css"); css.setAttribute("href","https://www.layuicdn.com/layui-v2.5.6/css/layui.css"); css.setAttribute("rel","stylesheet"); let head=document.getElementsByTagName("head")[0]; head.appendChild(js); head.appendChild(css); //设置位置 f.style.position="absolute"; f.style.left="10%"; f.style.top="-8px"; f.style.zIndex='999'; init.style.position="absolute"; init.style.width="160px"; on.style.position="absolute"; res.style.position="absolute"; init.style.zIndex='999'; on.style.zIndex='999'; res.style.zIndex='999'; init.style.top="30%"; init.style.left="0px"; on.style.left="25%"; on.style.top="34%"; res.style.left="33%"; res.style.top="34%"; se.style.position="absolute"; se.style.top="40%"; se.style.left="45%"; se.style.zIndex='999'; cr.style.position="absolute"; cr.style.left="0px"; cr.style.top="20%"; cr.style.zIndex='999'; pa.style.position="absolute"; pa.style.left="62%"; pa.style.top="30%"; //设置样式 f.style.width="700px"; f.style.height="90px"; //document.getElementById("video-toolbar").style.width=""; document.getElementById("video-toolbar").style.height="100px"; //document.getElementById("video-toolbar").style.zIndex="-999"; //生成到界面上 //document.body.appendChild(cr); addChild("video-toolbar",true,cr); d.appendChild(init); d.appendChild(on); d.appendChild(res); f.appendChild(d); f.appendChild(se); f.appendChild(pa); controlBox(f,false); addChild("video-toolbar",true,f); //document.body.appendChild(f); } //恢复记忆倍速 function Past(){ document.getElementById("past").onclick=function(){ animations("past",3); let past=readCookie("past"); if(past!=null&&past!=""&&past!=NaN){ past=parseFloat(past).toFixed(2); } else{ past=1.0; } setFast(null,past); } } //删除指定id或者class的节点,true为id,false位class function delNode(id,flag){ if(flag==true){ let node=document.getElementById(id); node.remove(); } else if(flag==false){ let nodes=document.getElementsByClassName(id); let len=nodes.length; for(let i=0;i0){ n[0].appendChild(node); } else{ console.log("增加节点失败,无class="+id+"的节点"); } } } //清除元素 //delNode("video-toolbar",true); delNode("video-toolbar-buttonbox",false); delNode("privilege-box",false); createInput("in","btn","select"); getInputFastAndSet("in","btn"); control("select"); createBox(); Past(); keyControl(); })();