// ==UserScript== // @name Bilibili 视频默认选择最高清晰度 // @namespace http://tampermonkey.net/ // @version 0.2018.12.8 // @description try to take over the world! // @author You // @match *://www.bilibili.com/video/av* // @grant none // @license GPL-3.0-or-later // @downloadURL none // ==/UserScript== (function() { 'use strict'; // Your code here... var MO = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; function vip(element, observer) { if (element.click() !== undefined) observer.disconnect(); } function novip(a, e, observer) { for (var i=1; document.querySelector(a + i + ")") !== null; i++) { if (document.querySelector(a + i + e) !== null) continue; vip(document.querySelector(a + i + ")"), observer); break; } } new MO(function (elements, observer) { elements[0] = document.querySelector("div.bui-select-list-wrap li:first-child"); elements[1] = document.querySelector("i.legalize.vip"); elements[2] = document.getElementById("bilibiliPlayer"); elements[3] = "div.bui-select-list-wrap li:nth-of-type("; if (document.querySelector(".fr a.t") !== null && elements[2].hasAttribute("data-login") && document.querySelector("span.bui-select-result").innerHTML == '自动') { if (elements[1] !== null ) vip(elements[0], observer); else if (elements[2].getAttribute("data-login") == 'true') novip(elements[3], ") span.bilibili-player-bigvip", observer); else if (elements[2].getAttribute("data-login") == 'false') novip(elements[3], ") span.bilibili-player-needlogin", observer); } }).observe(document.body,{'childList': true}); })();