Geekhub logo X

A sexy version of geekhub logo

安装此脚本
作者推荐脚本

您可能也喜欢GeekHub via X

安装此脚本
  1. // ==UserScript==
  2. // @name Geekhub logo X
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1.6
  5. // @description A sexy version of geekhub logo
  6. // @author 夜幕下的尖椒, dallaslu
  7. // @match https://geekhub.com/**
  8. // @match https://www.geekhub.com/**
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13.  
  14. 'use strict';
  15. var ghLogos = {
  16. 'light': 'https://i.loli.net/2020/09/27/uiv2YTXKFR9BtE5.png',
  17. 'dark': 'https://i.loli.net/2020/09/27/F7BWNYqje13ixKV.png',
  18. 'reverse': 'https://i.loli.net/2020/09/27/MuZIl9jiYSvOWN4.png'
  19. };
  20.  
  21. var ghSchemeButtons = {
  22. 'light': ghLogos.reverse,
  23. 'dark': ghLogos.light,
  24. 'royal': ghLogos.light,
  25. 'ocean': ghLogos.dark,
  26. 'jade': ghLogos.light,
  27. 'purple': ghLogos.dark,
  28. };
  29.  
  30. function changeLogo() {
  31. // 判断当前主题
  32. var logoFile = '';
  33. for (var btn in ghSchemeButtons) {
  34. var schemeBtn = document.getElementById('theme-'+btn);
  35. if (schemeBtn && schemeBtn.style.display === 'inline') {
  36. logoFile = ghSchemeButtons[btn];
  37. break;
  38. }
  39. }
  40.  
  41. logoFile = logoFile || ghLogos.reverse;
  42.  
  43. //获取该对象
  44. var logo = document.querySelector('header>div>div>a>span') || document.querySelector('sidebar>div>div>div.flex>div>a>span');
  45. if (!logo.style.background) {
  46. logo.style.background = "url(" + logoFile + ")";
  47. logo.style.backgroundSize = '116.7px 36px';
  48. logo.style.width = '116.7px';
  49. logo.style.height = '36px';
  50. logo.innerHTML = "";
  51. }
  52. }
  53.  
  54. var observer = new MutationObserver(function(doc, observer) {
  55. changeLogo();
  56. });
  57.  
  58. observer.observe(document, {
  59. characterData: true,
  60. childList: true,
  61. attributes: true,
  62. subtree: true,
  63. attributeOldValue: true,
  64. characterDataOldValue: true
  65. });
  66.  
  67. changeLogo();
  68. })();