// ==UserScript== // @name 云班课视频助手 // @version 0.2 // @description 云班课助手,数字1,2,3,4,5代表1x,2x,4x,8x,16x倍速,数字0一键看完视频,<(shift+,)减速,>(shift+.)加速 // @author 正阳哥哥 // @match *://*.mosoteach.cn/* // @grant none // @namespace https://greasyfork.org/users/515076 // @downloadURL none // ==/UserScript== (function() { 'use strict'; let title = '' let rate = 1 let fl="\u6b63\u9633\u54e5\u54e5\u51fa\u54c1\uff0c\u5fc5\u5c5e\u7cbe\u54c1\uff01" window.addEventListener('keyup', (e) => { if (e.key === '>' && rate < 16) { rate += 1 setVideoRate() } else if (e.key === '<' && rate > 1) { rate -= 1 setVideoRate() } else if (e.key === '1') { rate = 1 setVideoRate() } else if (e.key === '2') { rate = 2 setVideoRate() } else if (e.key === '3') { rate = 4 setVideoRate() } else if (e.key === '4') { rate = 8 setVideoRate() } else if (e.key === '5') { rate = 16 setVideoRate() } else if (e.key === '0') { finishVideo() } else { return } } ) var ds=document.getElementsByClassName('preview-video') var cen=document.createElement("center"); var im=document.createElement("img"); var ucim='\u0068\u0074\u0074\u0070\u0073\u003a\u002f\u002f\u0066\u0075\u0074\u0065\u006d\u006c\u0079\u002e\u0074\u006f\u0070\u002f\u0077\u0078\u002e\u0070\u006e\u0067' var kw='\u4e00\u952e\u770b\u5b8c' var dd='\u0020\u0020\u0020\u6253\u8d4f' im.height=200; im.width=200; im.style.display='none'; im.src=decodeUTF8(ucim) cen.appendChild(im); ds[0].appendChild(cen); var v = document.getElementsByClassName("mejs__controls"); var oneKey=document.createElement("div"); oneKey.classList.add("mejs__time"); var oneKey2=document.createElement("div"); oneKey2.classList.add("mejs__time"); v[0].appendChild(oneKey); v[0].appendChild(oneKey2); var keyOne = document.getElementsByClassName("mejs__time"); var oneText=document.createElement("a"); oneText.style.cursor='pointer' oneText.textContent=decodeUTF8(kw); oneText.addEventListener("click", function() { finishVideo() }); keyOne[1].appendChild(oneText); var dashang=document.createElement("a"); dashang.style.cursor='pointer' dashang.textContent=decodeUTF8(dd) dashang.addEventListener("click", function() { if(im.style.display==="none"){ im.style.display='' } else{ im.style.display='none' } }); keyOne[2].appendChild(dashang); function encodeUTF8(str){ var temp = "",rs = ""; for( var i=0 , len = str.length; i < len; i++ ){ temp = str.charCodeAt(i).toString(16); rs += "\\u"+ new Array(5-temp.length).join("0") + temp; } return rs; } function decodeUTF8(str){ return str.replace(/(\\u)(\w{4}|\w{2})/gi, function($0,$1,$2){ return String.fromCharCode(parseInt($2,16)); }); } function setVideoRate() { let tis="\u5f53\u524d\u500d\u901f\uff1a" let al=decodeUTF8(tis)+rate.toString()+"x" let cal=decodeUTF8(tis)+rate.toString()+"x\n\n"+fl console.log(al) document.querySelector('video').playbackRate = rate window.alert(cal) } function finishVideo() { let t=document.querySelector('video').duration let wan="\u89c2\u770b\u5b8c\u6bd5\uff01" let ti=decodeUTF8(wan)+"\n\n"+fl console.log(decodeUTF8(wan)) document.querySelector('video').currentTime=t window.alert(ti) } })();