// ==UserScript== // @name agefans Enhance // @namespace https://github.com/IronKinoko/agefans-enhance // @version 1.2.0 // @description 增强agefans播放功能,实现自动换集、画中画、历史记录、断点续播、显示视频源、获取当前页面全部视频等功能 // @author IronKinoko // @match https://www.agefans.net/* // @match https://www.agefans.net/play/* // @match https://www.agefans.net/detail/* // @require https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js // @grant none // @license MIT // @downloadURL none // ==/UserScript== (function () { 'use strict'; var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n o.id === id) } setTime(id, time = 0) { const his = this.his; his.find((o) => o.id === id).time = time; this.his = his; } log(item) { const his = this.his; his.unshift(item); this.his = his; } refresh(id, data) { const his = this.his; const index = his.findIndex((o) => o.id === id); const item = his.splice(index, 1)[0]; his.unshift(data || item); this.his = his; } has(id) { return Boolean(this.his.find((o) => o.id === id)) } logHistory() { const id = location.pathname.match(/\/play\/(\d*)/)?.[1]; if (!id) return const hisItem = {}; hisItem.id = id; hisItem.title = $('#detailname a').text(); hisItem.href = location.href; hisItem.section = $('li a[style*="color: rgb(238, 0, 0);"]').text(); hisItem.time = 0; hisItem.logo = $('#play_poster_img').attr('src'); if (this.has(id)) { const oldItem = this.get(id); if (oldItem.href !== hisItem.href) { this.refresh(id, hisItem); } else { this.refresh(id); } } else { this.log(hisItem); } } } const his = new History(); function parseTime(time = 0) { return `${Math.floor(time / 60) .toString() .padStart(2, '0')}:${(time % 60).toString().padStart(2, '0')}` } function renderHistoryList() { $('#history') .html('') .append(() => { /** @type {any[]} */ const histories = his.getAll(); let html = ''; histories.forEach((o) => { html += ` ${o.title}
${o.title}
${o.section} ${parseTime(o.time)}
`; }); return `
${ html || '
暂无数据
' }
` }); } function renderHistoryPage() { const currentDom = $('.nav_button_current'); $('
').insertBefore('#footer').hide(); $(`历史`) .appendTo('#nav') .on('click', (e) => { if ($('#history').is(':visible')) { $('#container').show(); $('#history').hide(); changeActive(currentDom); } else { renderHistoryList(); $('#container').hide(); $('#history').show(); changeActive($(e.currentTarget)); } }); $('.nav_button_current') .on('click', (e) => { $('#container').show(); $('#history').hide(); changeActive(e.currentTarget); }) .removeAttr('href'); } function changeActive(dom) { $('.nav_button_current').removeClass('nav_button_current'); $(dom).addClass('nav_button_current'); } function historyModule() { renderHistoryPage(); renderHistoryList(); } function copyToClipboard(element) { var $temp = $("