自动关闭哔哩哔哩视频的自动连播并开启网页全屏
这是一个为 Tampermonkey 浏览器扩展设计的用户脚本,旨在优化哔哩哔哩 (Bilibili) 视频观看体验。它会自动执行以下操作:
脚本头部的元数据块(// ==UserScript== ... // ==/UserScript==)告诉 Tampermonkey 如何处理此脚本:
@name: 脚本的名称,显示在 Tampermonkey 管理界面中。@namespace: 脚本的命名空间,通常用于避免名称冲突。@version: 脚本的版本号。@description: 脚本功能的简短描述。@author: 脚本的作者。@match: 指定脚本在哪些网址上运行。此脚本配置为在所有 https://www.bilibili.com/video/* 格式的哔哩哔哩视频页面上运行。@icon: 脚本在 Tampermonkey 菜单中显示的图标。@grant none: 表示脚本不需要任何特殊的 Tampermonkey API 权限,它将在与页面相同的上下文中运行。@run-at document-end: 指定脚本在文档加载基本完成后(DOMContentLoaded 事件之后)开始运行。页面加载与初始化:
@match 规则的哔哩哔哩视频页面,并且文档加载到 document-end 阶段时,脚本开始执行。MAX_ATTEMPTS) 和一个定时器 (setInterval),每隔 500 毫秒执行一次核心操作函数 performActions。这是因为哔哩哔哩的播放器元素可能是动态加载的,需要等待它们出现在页面上。核心操作 (performActions 函数):
performActions 时,尝试次数会增加。autoplayGoalMet (自动连播目标是否达成) 和 webFullscreenGoalMet (网页全屏目标是否达成)。初始时它们都为 false。autoplayGoalMet 为 false,脚本会查找“自动连播”按钮 (通过 CSS 选择器 .bpx-player-ctrl-btn.bpx-player-ctrl-autoplay)。bpx-state-active 类),脚本会模拟点击该按钮以关闭自动连播,并将 autoplayGoalMet 设置为 true。autoplayGoalMet 设置为 true。webFullscreenGoalMet 为 false,脚本会查找“网页全屏”按钮 (通过 CSS 选择器 .bpx-player-ctrl-btn.bpx-player-ctrl-web)。bpx-state-active 类),脚本会模拟点击该按钮以开启网页全屏,并将 webFullscreenGoalMet 设置为 true。webFullscreenGoalMet 设置为 true。autoplayGoalMet 和 webFullscreenGoalMet 都为 true 时(即两个目标都已达成),或者当尝试次数达到 MAX_ATTEMPTS 上限时,脚本会清除定时器 (clearInterval),停止后续的检查和操作。安装 Tampermonkey:
添加脚本:
自动运行:
.bpx-player-ctrl-btn.bpx-player-ctrl-autoplay 和 .bpx-player-ctrl-btn.bpx-player-ctrl-web) 可能会失效,导致脚本无法正常工作。届时,需要更新脚本中的选择器。希望这份说明对您有所帮助!