YouTube Normal Thumbnails

Restores normal thumbnails size

当前为 2019-11-13 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name YouTube Normal Thumbnails
  3. // @namespace http://gf.qytechs.cn
  4. // @version 0.5.3
  5. // @description Restores normal thumbnails size
  6. // @author NeoCortex
  7. // @match *://www.youtube.com/*
  8. // @run-at document-end
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. var storage = {
  14. oldValue: -1,
  15. target: document.querySelector('ytd-rich-grid-renderer'),
  16. detectTarget: function () {
  17. storage.target = document.querySelector('ytd-rich-grid-renderer');
  18. return storage.target;
  19. },
  20. observerConfig: {
  21. attributes: true,
  22. childList: false,
  23. subtree: false
  24. },
  25. styleFixer: () => {
  26. try {
  27. let prop = '--ytd-rich-grid-items-per-row',
  28. perRow = +storage.target.style.getPropertyValue(prop);
  29. if (storage.oldValue == -1 || storage.oldValue == perRow) {
  30. storage.oldValue = perRow;
  31. perRow += 1;
  32. storage.target.style.setProperty(prop, perRow);
  33. }
  34. } catch (e) {
  35. console.warn(`[YouTube Normal Thumbnails] Cannot update thumbnails count: ${e}`)
  36. }
  37. },
  38. observerCallback: function (mutationsList, observer) {
  39. for (let mutation of mutationsList) {
  40. if (mutation.attributeName == 'style') {
  41. storage.observer.disconnect();
  42. storage.styleFixer();
  43. storage.observer.observe(storage.target, storage.observerConfig);
  44. }
  45. }
  46. },
  47. installObserver: function () {
  48. storage.observer = new MutationObserver(storage.observerCallback);
  49. storage.observer.observe(storage.target, storage.observerConfig);
  50. var s = document.createElement('style');
  51. s.innerHTML = `
  52. ytd-rich-grid-video-renderer[mini-mode] #video-title.ytd-rich-grid-video-renderer {
  53. font-size: 1.4rem;
  54. font-weight: 500;
  55. line-height: 1.6rem;
  56. }
  57. #avatar-link.ytd-rich-grid-video-renderer {
  58. display: none !important;
  59. }
  60. `.trim();
  61. document.body.appendChild(s);
  62. }
  63. };
  64.  
  65. if (storage.target === null) {
  66. let insertObserver = new MutationObserver(function () {
  67. if (storage.detectTarget() !== null) {
  68. storage.styleFixer();
  69. storage.installObserver();
  70. insertObserver.disconnect();
  71. }
  72. });
  73. insertObserver.observe(document.body, {
  74. attributes: false,
  75. childList: true,
  76. subtree: true
  77. });
  78. } else {
  79. storage.styleFixer();
  80. storage.installObserver();
  81. }
  82. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址