您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
B站 活动标签页自动播放, 更大全屏按钮, 视频进度条等增强功能
当前为
// ==UserScript== // @name Bilibili FullScreen Progressbar // @namespace http://tampermonkey.net/ // @version 0.1 // @description B站 活动标签页自动播放, 更大全屏按钮, 视频进度条等增强功能 // @author Finn // @match https://www.bilibili.com/video/* // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; var set = localStorage.getItem("bilibili_player_settings"); console.log("数据查看", set) const initStyle = `<style id="FinnStyle"> /*全屏控制区域*/ #finnDrag{position:absolute;left:50%;top:30%; margin-left:calc(-15%);z-index:1000; background:#ffffff5e;width:30%;height:30%; transition:all 0.2s;border:2px dotted gold; opacity:0;cursor:se-resize;opacity:0;} #finnDrag:hover{opacity:1} /*添加进度条*/ #finnProgress{--rule:3vw; position:absolute;left:calc(var(--rule) / 2);top:calc(var(--rule) / 2);z-index:1000; background:conic-gradient(transparent 100%,#cccccc57 0%); width:calc(var(--rule)); height:calc(var(--rule));border-radius:50%; text-align:center;color:#eeeeeea8;font-size:15px;line-height:100px; box-shadow:0 0 20px #bfbfbf21;}</style> `; document.documentElement.insertAdjacentHTML("afterbegin", initStyle); window.addEventListener("DOMContentLoaded", function () { //get Button const player = document.querySelector("#playerWrap"); let observer = new MutationObserver(function (mutations) { console.log("mutations", mutations); //let btn = player.querySelector(".bilibili-player-iconfont-fullscreen-off");//全屏按钮🔘 let btn = player.querySelector(".bilibili-player-iconfont-web-fullscreen-off");//网页全屏按钮🔘 const fullwrap = document.querySelector("#bilibiliPlayer"); const totalTime = document.querySelector(".bilibili-player-video-time-total"); console.log(totalTime); if (btn) { btn.setAttribute("id", "finnFor"); //btn.click();//原生click()事件只支持有默认点击行为的元素; observer.disconnect(); } //如果当前标签页active, 自动播放 /*let tabhidden = document.hidden; // if (!tabhidden) { let playarea = document.querySelector("#playerWrap video");//点击播放区域 // playarea.click();*/ setTimeout(function () { /* var e = document.createEvent("MouseEvents"); e.initEvent("click", true, true); playarea.dispatchEvent(e); */ //添加全屏按钮 const fullBtn = `<label for="finnFor" id="finnDrag"></label>` //fullBtn.addEventListener("click", function (e) { console.log("fullBtn click 点击"), e.stopPropagation() }) fullwrap.insertAdjacentHTML("afterbegin", fullBtn); //添加进度条 let progress = `<div id="finnProgress">${totalTime.textContent}</div>`; fullwrap.insertAdjacentHTML("afterbegin", progress); //进度条 progressBar(); }, 500) }) let obConfig = { childList: true, subtree: true } observer.observe(player, obConfig); function progressBar() { let bar = document.querySelector("#finnProgress"); console.log(bar) let barStatus = setInterval(function () { if (!bar) { console.log("不存在进度条") } else { console.log("存在进度条"); //progress.onmouseenter=function(){} let p = +document.querySelector(".bilibili-player-drag-mask-progress-tempo").style.transform.replace(/[^.0-9]/ig, "");//获取当前进度值 bar.style.background = `conic-gradient(transparent ${p * 100}%,#ffffff47 0% )`; if (p == 1) { clearInterval(barStatus) }; } }, 500); } }) })();