// ==UserScript== // @name Bilibili 视频默认选择最高清晰度 // @namespace http://tampermonkey.net/ // @version 0.2018.12.3 // @description try to take over the world! // @author You // @match *://www.bilibili.com/video/av* // @grant none // @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.querySelector("i.legalize"); elements[3] = document.querySelector("li.nav-item.profile-info a[src$='login']"); elements[4] = "div.bui-select-list-wrap li:nth-of-type("; if (elements[0] !== null) { if (elements[1] !== null ) vip(elements[0], observer); else if (elements[2] !== null ) novip(elements[4], ") span.bilibili-player-bigvip", observer); else if (elements[3] !== null ) novip(elements[4], ") span.bilibili-player-needlogin", observer); } }).observe(document.body,{'childList': true, 'attributes': true}); })();