// ==UserScript== // @name YouTube 伪装成 哔哩哔哩 // @namespace https://github.com/userElaina/this-is-the-China-website // @version 2025.03.31.01 // @description 中国人就用哔哩哔哩 // @author userElaina // @license MIT // @match *://*.youtube.com/* // @match *://*.youtu.be/* // @grant none // @downloadURL https://update.greasyfork.icu/scripts/453225/YouTube%20%E4%BC%AA%E8%A3%85%E6%88%90%20%E5%93%94%E5%93%A9%E5%93%94%E5%93%A9.user.js // @updateURL https://update.greasyfork.icu/scripts/453225/YouTube%20%E4%BC%AA%E8%A3%85%E6%88%90%20%E5%93%94%E5%93%A9%E5%93%94%E5%93%A9.meta.js // ==/UserScript== function sleep(time) { return new Promise((resolve) => setTimeout(resolve, time)); } async function f_succ(f, msSleep = 500, maxCount = 10) { let count = 0; while (true) { try { if (f()) { return true; } } catch (e) { console.log(e); } count++; if (count > maxCount) { return false; } await sleep(msSleep); } } (async function () { if (window.trustedTypes && window.trustedTypes.createPolicy) { window.trustedTypes.createPolicy('default', { createHTML: (string, sink) => string }); } // change title await f_succ(() => { let split_num = window.location.href.split('/'); if (split_num.length < 4 || (split_num.length == 4 && split_num[3].length == 0)) { document.title = "哔哩哔哩 (゜-゜)つロ 干杯~-bilibili"; return true; } if (document.title.endsWith('YouTube')) { document.title = document.title.replace(/\s-\sYouTube*/g, " - 哔哩哔哩"); return true; } return false; }); // change icon await f_succ(() => { let icon = document.querySelector('link[rel="icon"]'); if (icon === null) { return false; } icon.href = 'https://raw.githubusercontent.com/userElaina/this-is-the-China-website/main/youtube/bilibili.ico'; return true; }); // change title loop f_succ(() => { let split_num = window.location.href.split('/'); if (split_num.length < 4 || (split_num.length == 4 && split_num[3].length == 0)) { document.title = "哔哩哔哩 (゜-゜)つロ 干杯~-bilibili"; } if (document.title.endsWith('YouTube')) { document.title = document.title.replace(/\s-\sYouTube*/g, " - 哔哩哔哩"); } return false; }, 2000, 2147483647); let bili_biglogo = ''; // change logo on top left f_succ(() => { let logo = document.getElementById("logo-icon"); if (logo === null) { return false; } logo.innerHTML = window.trustedTypes.defaultPolicy.createHTML(bili_biglogo); return true; }); // change logo on top left (hide) f_succ(() => { let logo = document.getElementById('contentContainer').querySelector('ytd-topbar-logo-renderer').querySelector('a').querySelector('div').querySelector('div'); if (logo === null) { return false; } logo.innerHTML = bili_biglogo; return true; }); // change searchbox f_succ(() => { let searchBox = document.querySelector('input.ytSearchboxComponentInput.yt-searchbox-input.title'); if (searchBox === null) { return false; } searchBox.placeholder = '搜索哔哩哔哩'; return true; }); // change style loop f_succ(() => { /* use `changeStyle` instead of `query().style=...` because some elements are added dynamically */ let s2 = '__bilibili_style__'; let la = document.head.lastElementChild; if (la != null) { if (la.innerHTML.toString() == s2) { return false; } } let s1 = 'background-color: #00aeec !important;'; function changeBgColor(s0) { let newStyle = document.createElement("style"); newStyle.innerHTML = window.trustedTypes.defaultPolicy.createHTML(s2); document.head.appendChild(newStyle); let newSheet = newStyle.sheet; newSheet.addRule(s0, s1); newSheet.insertRule(s0 + ' { ' + s1 + ' }', 0); } // button.ytp-button.ytp-settings-button.ytp-hd-quality-badge::after changeBgColor('.ytp-settings-button.ytp-hd-quality-badge:after, .ytp-settings-button.ytp-hdr-quality-badge:after, .ytp-settings-button.ytp-4k-quality-badge:after, .ytp-settings-button.ytp-5k-quality-badge:after, .ytp-settings-button.ytp-8k-quality-badge:after, .ytp-settings-button.ytp-3d-badge-grey:after, .ytp-settings-button.ytp-3d-badge:after'); // button.ytp-subtitles-button.ytp-button::after changeBgColor('.ytp-chrome-controls .ytp-button[aria-pressed]:after'); /* let notice = document.querySelector('div.yt-spec-icon-badge-shape__badge'); if (notice != null) { notice.style.backgroundColor = '#00aeec'; } */ changeBgColor('.yt-spec-icon-badge-shape--type-notification .yt-spec-icon-badge-shape__badge'); /* document.querySelectorAll('div.ytp-play-progress.ytp-swatch-background-color').forEach(v => { v.style.backgroundColor = '#00aeec'; }); document.querySelector('div.ytp-scrubber-button.ytp-swatch-background-color').style.backgroundColor = '#00aeec'; */ changeBgColor('.ytp-swatch-background-color'); // Settings - Annotations changeBgColor('.ytp-menuitem[aria-checked=true] .ytp-menuitem-toggle-checkbox'); /* setInterval(() => { document.querySelectorAll('[id=progress]').forEach(v => { v.style.backgroundColor = '#00aeec'; }); }, 1000); */ // changeBgColor('#progress.ytd-thumbnail-overlay-resume-playback-renderer'); s1 = 'background: #00aeec !important;'; changeBgColor('.ytp-play-progress'); return false; }, 2000, 2147483647); })();