您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自动选择最高清晰度播放Bilibili视频
// ==UserScript== // @name Bilibili Auto Quality // @namespace https://greasyfork.org/zh-CN/users/1258116-yanchong-xiao // @version 1.0 // @description 自动选择最高清晰度播放Bilibili视频 // @author Microsoft Copilot // @match https://www.bilibili.com/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // 等待视频加载完成 function waitForVideo() { var video = document.querySelector('video'); console.log(video); if (video) { // 监听视频播放事件 // video.addEventListener('play', function() { // 获取清晰度列表 var qualityList = document.querySelectorAll('.bpx-player-ctrl-quality-menu-item'); console.log(qualityList); if (qualityList.length > 0) { // 根据 cookie 中的 CURRENT_QUALITY 的值来选择相应的清晰度 var currentQuality = getCookie("CURRENT_QUALITY"); // 获取 cookie 中的 CURRENT_QUALITY 的值 var targetQuality = [...qualityList].find(item => item.dataset.value == currentQuality); // 在清晰度列表中找到 data-value 与 CURRENT_QUALITY 相等的项 if (targetQuality) { targetQuality.click(); // 点击该项 } else { qualityList[0].click(); // 如果没有找到,就选择最高清晰度 } }else{ setTimeout(waitForVideo, 1000); } // }); } else { // 如果视频还没加载,等待一秒后重试 setTimeout(waitForVideo, 1000); } } // 一个简单的函数,用于获取 cookie 中指定名称的值 // 参考 [JavaScript Cookies - W3Schools] 和 [javascript - Get cookie by name - Stack Overflow] function getCookie(cName) { const name = cName + "="; const cDecoded = decodeURIComponent(document.cookie); // 解码 cookie 字符串 const cArr = cDecoded.split('; '); // 用分号和空格分割 cookie let res; cArr.forEach(val => { if (val.indexOf(name) === 0) res = val.substring(name.length); // 如果找到指定名称的 cookie,就返回它的值 }); return res; } // 调用函数 waitForVideo(); })();