您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
通过预加载减少等待时间,自动连续播放,考研党的福音
// ==UserScript== // @name 百度云盘视频连续播放减少等待(已修复 2021.5) // @namespace http://tampermonkey.net/ // @version 0.3 // @description 通过预加载减少等待时间,自动连续播放,考研党的福音 // @author kakasearch // @match https://pan.baidu.com/play/video // @icon https://www.google.com/s2/favicons?domain=baidu.com // @grant GM_openInTab // @grant GM_getTab // @grant GM_saveTab // @grant unsafeWindow // @grant GM_getValue // @grant GM_setValue // @grant window.focus // ==/UserScript== //消除interval (function() { 'use strict'; let window=unsafeWindow let getVideo = function(){ //下次百度云更新,直接改這裏 return window.videoPlayer.getPlayers().html5player } let main = ()=>{ //abort open next url in background tab if(GM_getValue('next')== window.location.href){ GM_setValue('next','') let play = setInterval(function(){ try{ let werbung = document.querySelector("#video-root").shadowRoot.querySelector("#werbung-info-container > div.werbung-progress-bar-wrapper > div.werbung-progress-text") if(getVideo()&&werbung&&Number(/\d+/.exec(werbung.innerText)[0])>=99){ //load done clearInterval(play) let canPlay = GM_getValue('pan_play') if(! canPlay){ getVideo().on('play', getVideo().pause()) let pause =setInterval(()=>{ if(! getVideo().paused()){ getVideo().el_.onload = ()=>{console.log('load')} console.log('pause') getVideo().pause() getVideo().on('play', getVideo().pause()) } },1000) setTimeout(()=>{clearInterval(pause)},10000) window.addEventListener('keydown',clearInterval(pause)) window.addEventListener('click',clearInterval(pause)) } //wait closed let play_listener = setInterval(()=>{ canPlay = GM_getValue('pan_play') if(canPlay){ if(GM_getValue('first') == window.location.href){ window.focus()} if(getVideo().paused()){ console.log('play') getVideo().play() }else{ GM_setValue('pan_play',false) clearInterval(play_listener) main() } } },1000) } }catch{ // click retry button let retry = setInterval(function(){ if(document.querySelector("#video-wrap > div > span > a")){ document.querySelector("#video-wrap > div > span > a").click() } },1000) setTimeout(()=>{clearInterval(retry)},10000) } // if('重试'in ''){}/////////////////////////////// },1000) }else{ // open nexturl in background let url =window.location.href.split('%2') let next_name = document.querySelector(".video-item.currentplay").nextElementSibling.children[0].children[1].innerText url =url.slice(0,url.length-1) url.push('F'+encodeURI(next_name) + '&t=-1') let next_url =url.join('%2') GM_setValue('pan_play',false) GM_setValue('next',next_url) GM_setValue('first',next_url) setTimeout(GM_openInTab(next_url,true),1000) //close tab when video end let tiao= 1 let tmp = setInterval(function(){ if(getVideo()){ let player = getVideo() let duration = player.el_.firstElementChild.duration let currentTime=player.el_.firstElementChild.currentTime if(currentTime >(duration-2) && tiao){ GM_setValue('pan_play',true) if(getVideo()){ getVideo().pause() } clearInterval(tmp) window.close() tiao= 0 } }else{tiao=1} },1000) } } setTimeout(function(){ main() },3000) // Your code here... })();