// ==UserScript== // @name bilibili直播默认最高画质 // @name:zh-CN bilibili直播默认最高画质 // @name:zh-TW bilibili直播默認最高畫質 // @name:zh-HK bilibili直播默認最高畫質 // @description bilibili直播默认切换为最高画质 // @description:zh-CN bilibili直播默认切换为最高画质 // @description:zh-TW bilibili直播默認切換為最高畫質 // @description:zh-HK bilibili直播默認切換為最高畫質 // @namespace https://github.com/linkwanggo // @version 1.0.1 // @author linkwanggo // @match *://live.bilibili.com/* // @exclude *://live.bilibili.com/p* // @icon https://www.bilibili.com//favicon.ico // @run-at document-idle // @license MIT // @compatible chrome // @compatible firefox // @compatible edge // @downloadURL none // ==/UserScript== ;(function () { function live() { try { const livePlayer = document.querySelector('#live-player') livePlayer.dispatchEvent(new Event('mousemove')) const qualityWrap = livePlayer.querySelector('.quality-wrap') const observer = new MutationObserver(mutations => { mutations.some(mutation => { try { const qualities = mutation.target.querySelectorAll('.quality-it') if (qualities.length) { qualities[0].click() return true } return false } catch (e) { console.error(e) return false } finally { observer.disconnect() } }) }) observer.observe(qualityWrap, { childList: true, subtree: true }) qualityWrap.dispatchEvent(new Event('mouseenter')) } catch (e) { console.error(e) } } window.setTimeout(live, 1500) })()