您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
因为B站现存好几种播放器,如果有某些页面无效,请反馈给我具体页面。
// ==UserScript== // @name B站 双击全屏 // @version 0.2 // @description 因为B站现存好几种播放器,如果有某些页面无效,请反馈给我具体页面。 // @author Erimus // @include http*.bilibili.com/video/* // @include http*.bilibili.com/bangumi/* // @namespace https://greasyfork.org/users/46393 // ==/UserScript== // 在播放器获得焦点时,B站默认有一个快解键F可以切换全屏。 (function() { 'use strict'; const SN = '[B站 双击全屏]' // script name console.log(SN, '油猴脚本开始') const elementDict = { 'video': { // 普通视频 H5播放器 'click_area': '.bilibili-player-video-wrap', //双击生效区 'fs_btn': '.bilibili-player-video-btn-fullscreen', //全屏按钮 'play_btn': '.bilibili-player-video-btn-start' //播放按钮 } } let thisPlayer // 当前播放器 let init = function() { let find_btns_and_add_listener = setInterval(function() { console.debug(SN, 'Init:', document.URL) // 目前这套可以兼容一般视频和番剧,但可能无法兼容全部,这个参数先留着。 // if (document.URL.includes('/video/')) { // thisPlayer = 'video' // } thisPlayer = 'video' let click_area = document.querySelector(elementDict[thisPlayer]['click_area']), fs_btn = document.querySelector(elementDict[thisPlayer]['fs_btn']) console.debug(SN, 'click_area:', click_area) console.debug(SN, 'fs_btn:', fs_btn) if (click_area && fs_btn) { console.log(SN, 'All buttons found!') clearInterval(find_btns_and_add_listener) click_area.addEventListener('dblclick', dblclick) function dblclick(e) { e.stopPropagation() console.log(SN, '双击', fs_btn) fs_btn.click() // toggle full screen } } }, 500) } init() // 监听页面跳转事件 let _wr = function(type) { let orig = history[type + SN] return function() { let rv = orig.apply(this, arguments), e = new Event(type + SN) e.arguments = arguments window.dispatchEvent(e) return rv } } history.pushState = _wr('pushState') history.replaceState = _wr('replaceState') })();