您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
替换原有播放器,新增:自上次观看位置继续播放,播放结束自动跳转下一集
当前为
// ==UserScript== // @name age动漫视频播放器扩展 // @namespace http://tampermonkey.net/ // @version 0.1 // @description 替换原有播放器,新增:自上次观看位置继续播放,播放结束自动跳转下一集 // @author 林狗dan // @match http://*.agefans.*/acg/*.html // @icon https://www.google.com/s2/favicons?domain=agefans.top // @grant none // @run-at document-end // ==/UserScript== (function() { 'use strict'; init(); // const Delay = 3000; // setTimeout(()=>{ // init(); // },Delay); })(); function init(){ //获取动漫的目录列表元素 let list = document.querySelectorAll("#stab_1_71 > ul > div > div > ul > li > a"); console.log(list ); for(let i=0; i< list.length; i++){ let text = list[i].innerText; let url = list[i].href; //去除全部备用 if(text.indexOf('备用')!=-1){ list.splice(i,1); } } let test = document.querySelector("#playiframe") console.log(test) console.log(decodeURIComponent(test.src)) let video_src = test.src let start = video_src.search('vid=') + 4 let end = video_src.indexOf('&') let src = video_src.slice(start,end) src = decodeURIComponent(src) console.log(src) //注入video标签 //引入script及css 1.9.1的最新版有问题,不断跳出错误 let script = document.createElement('script'); script.setAttribute('type', 'text/javascript'); script.src = "https://cdn.bootcdn.net/ajax/libs/dplayer/1.25.0/DPlayer.min.js"; document.documentElement.appendChild(script); let link = document.createElement('link'); link.setAttribute('rel', 'stylesheet'); link.setAttribute('type', 'text/css'); link.href = "https://cdn.bootcdn.net/ajax/libs/dplayer/1.25.0/DPlayer.min.css"; document.documentElement.appendChild(link); let video_ele = document.createElement('div') video_ele.style.height = '100%' video_ele.style.width = 'auto' video_ele.id = 'lin_player' //视频播放器 let player = document.querySelector("#player") player.appendChild(video_ele) test.remove() //注入播放器 let dp; let check_player = setInterval(function(){ if(DPlayer){ dp = new DPlayer({ container: document.getElementById('lin_player'), autoplay: true, video: { url: src, }, }); //跳转到历史位置 let to_time = localStorage.getItem(location.href) dp.seek(to_time) //播放结束后自动下一个 dp.on("ended",() => { console.log('video end') let index; for(let i=0; i< list.length; i++){ //定位当前正在播放的是哪一个 if(location.href == list[i].href){ index = i; break; } } if(index<1){ return; } dp.notice('即将播放下一集',3000) //倒计时 let timeout = setTimeout(function(){ clearTimeout(timeout) location.assign(list[index-1].href) },3000) }) clearInterval(check_player) } },100) //记录播放进度 setInterval(function(){ let current = dp.video.currentTime console.log(current,location.href) localStorage.setItem(location.href,current) }, 5000) };