Ximalaya-综合界面优化

自用喜马拉雅界面美化。

  1. // ==UserScript==
  2. // @name Ximalaya-UIModify
  3. // @name:zh-CN Ximalaya-综合界面优化
  4. // @namespace https://github.com/TitanRGB
  5. // @version 2.0
  6. // @description Self-use UI modify for Ximalaya.
  7. // @description:zh-CN 自用喜马拉雅界面美化。
  8. // @author https://github.com/TitanRGB
  9. // @icon data:image/png;base64,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
  10. // @match http*://www.ximalaya.com
  11. // @match http*://www.ximalaya.com/*
  12. // @license MPL-2.0
  13. // @license^ Mozilla Public License 2.0
  14. // @charset UTF-8
  15. // @homepageURL https://github.com/SynRGB/Ximalaya-UIModify
  16. // @contributionURL https://github.com/SynRGB/Ximalaya-UIModify
  17. // @copyright Copyright © 2022-PRESENT, TitanRGB (https://github.com/TitanRGB)
  18. // ==/UserScript==
  19.  
  20. let main = function () {
  21. // 移除 ad0: 主页顶部滚动推荐
  22. let zhu_ye = document.querySelector('#award > main > div:nth-child(1) > div.category-wrap.E_h > div');
  23. if (zhu_ye) {
  24. let ad0A = document.querySelector('#award > div.party-building._VZ');
  25. if (ad0A) {
  26. ad0A.remove();
  27. }
  28. let ad0B = document.querySelector('#award > main > div:nth-child(1) > div.banner-wrapper.cZ_');
  29. if (ad0B) {
  30. ad0B.remove();
  31. }
  32. }
  33. // 移除 ad1: 下载客户端领VIP弹窗
  34. let ad1A = document.querySelector('body > div:nth-child(16) > div > div.xui-modal-wrap.zj_ > div');
  35. if (ad1A) {
  36. let click = document.querySelector('body > div:nth-child(16) > div > div.xui-modal-wrap.zj_ > div > div > span');
  37. if (click) {
  38. click.click();
  39. }
  40. }
  41. let ad1B = document.querySelector('body > div:nth-child(17) > div > div.xui-modal-wrap.zj_ > div');
  42. if (ad1B) {
  43. let click = document.querySelector('body > div:nth-child(17) > div > div.xui-modal-wrap.zj_ > div > div > span');
  44. if (click) {
  45. click.click();
  46. }
  47. }
  48. // 移除 ad2: 下载客户端侧弹窗
  49. let ad2A = document.querySelector('#award > div:nth-child(4) > div');
  50. if (ad2A) {
  51. let targetText = '云端同步、一键下载 更好的收听体验!';
  52. let targetDiv = document.querySelector('#award > div:nth-child(4) > div > div');
  53. if (targetDiv && targetDiv.textContent === targetText) {
  54. ad2A.remove();
  55. }
  56. }
  57. let ad2B = document.querySelector('#award > div:nth-child(3)');
  58. if (ad2B) {
  59. let targetText = '云端同步、一键下载 更好的收听体验!';
  60. let targetDiv = document.querySelector('#award > div:nth-child(3) > div > div');
  61. if (targetDiv && targetDiv.textContent === targetText) {
  62. ad2B.remove();
  63. }
  64. }
  65. // 移除 ad3: 下载客户端右边栏置顶
  66. let ad3A = document.querySelector('#award > main > div.sound-detail > div.clearfix > div.side.layout-side > div:nth-child(1)');
  67. if (ad3A) {
  68. let targetText = '立即下载';
  69. let targetDiv = document.querySelector('#award > main > div.sound-detail > div.clearfix > div.side.layout-side > div:nth-child(1) > div > a > span.text._ib');
  70. if (targetDiv && targetDiv.textContent === targetText) {
  71. ad3A.remove();
  72. }
  73. }
  74. let ad3B = document.querySelector('#award > main > div.album-detail > div.clearfix > div.side.layout-side > div.mgb-20 > div.container.Kl_');
  75. if (ad3B) {
  76. let targetText = '立即下载';
  77. let targetDiv = document.querySelector('#award > main > div.album-detail > div.clearfix > div.side.layout-side > div.mgb-20 > div.container.Kl_ > a > span.text._ib');
  78. if (targetDiv && targetDiv.textContent === targetText) {
  79. ad3B.remove();
  80. }
  81. }
  82. // 移除 ad4: 检测到海外IP,下载国际版客户端
  83. let ad4 = document.querySelector('#award > div.himalaya-wrapper._ur');
  84. if (ad4) {
  85. let click = document.querySelector('#award > div.himalaya-wrapper._ur > i');
  86. if (click) {
  87. click.click();
  88. }
  89. }
  90. // 移除“评论区”
  91. let comment = document.querySelector('#award > main > div.sound-detail > div.clearfix > div.detail.layout-main > div.xm-comment.v_j');
  92. if (comment) {
  93. let targetText = '用户评论';
  94. let targetDiv = document.querySelector('#award > main > div.sound-detail > div.clearfix > div.detail.layout-main > div.xm-comment.v_j > h2');
  95. if (targetDiv && targetDiv.textContent === targetText) {
  96. comment.remove();
  97. }
  98. }
  99. // 移除“猜你喜欢”
  100. let album = document.querySelector('#award > main > div.sound-detail > div.clearfix > div.detail.layout-main > div.search-album-box.v_Q');
  101. if (album) {
  102. let targetText = '猜你喜欢';
  103. let targetDiv = document.querySelector('#award > main > div.sound-detail > div.clearfix > div.detail.layout-main > div.search-album-box.v_Q > div.panel-title.v_Q > span');
  104. if (targetDiv && targetDiv.textContent === targetText) {
  105. album.remove();
  106. }
  107. }
  108. // 个人主页元素居中
  109. const myPage = document.querySelector('#myPage > div.layout-main');
  110. if (myPage) {
  111. const width = document.querySelector('#rootHeader > div').clientWidth;
  112. myPage.style.width = width + 'px';
  113. }
  114. }
  115.  
  116. let active = false;
  117. let timer = null;
  118. let halfSecondInterval = 500; // half second
  119. let oneMinuteInterval = 60 * 1000; // one minute
  120.  
  121. function setActive() {
  122. active = true;
  123. if (!timer) {
  124. timer = setInterval(function () {
  125. if (active) {
  126. main();
  127. }
  128. }, halfSecondInterval);
  129. setTimeout(function () {
  130. active = false;
  131. }, oneMinuteInterval);
  132. }
  133. }
  134.  
  135. document.addEventListener('DOMContentLoaded', setActive, false);
  136. document.addEventListener('scroll', setActive, false);
  137. document.addEventListener('click', setActive, false);
  138.  
  139. console.log("JS script Ximalaya-UIModify (Ximalaya-综合界面优化) loaded. See more details at https://github.com/SynRGB/Ximalaya-UIModify");

QingJ © 2025

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