18comic(禁漫天堂)净化增强

去除18comic(禁漫天堂)广告、拦截弹窗、修复布局、支持PC端|移动端

  1. // ==UserScript==
  2. // @name 18comic(禁漫天堂)净化增强
  3. // @name:zh-CN 18comic(禁漫天堂)净化增强
  4. // @name:zh-TW 18comic(禁漫天堂)凈化增強
  5. // @name:en 18comicEnhance
  6. // @namespace https://github.com/GangPeter/pgscript
  7. // @version 1.3
  8. // @author GangPeter
  9. // @description 去除18comic(禁漫天堂)广告、拦截弹窗、修复布局、支持PC端|移动端
  10. // @description:zh-CN 去除18comic(禁漫天堂)广告、拦截弹窗、修复布局、支持PC端|移动端
  11. // @description:zh-TW 去除18comic(禁漫天堂)廣告、攔截彈窗、修復布局、支持PC端|移動端
  12. // @description:en Remove 18comic ads
  13. // @match *://*.18comic.vip/*
  14. // @match *://*.18comic.org/*
  15. // @match *://*.jmcomic.me/*
  16. // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAACXBIWXMAAA7DAAAOwwHHb6hkAAABOElEQVR4nGL4DwRvyqX/M4AYU1PtIQwQYAAJOzo5QUTeAjkwjF8ArBdDxZsyCOP69etQASRZuBkwAJGUwjQTWdepCsv/nl5e/11dnCAmwHQgK1qfb/v/aY0mdncjY7gVMAAy7Q0Il0nBxdAUoOpGOBKoA68Vb5EU2Nna/g8KDv5/rtIMEhHf9l9H8YGLq+v/a9eu/Z+f5QDzJqqxj6u1/m8osEWEJC4vosUOAUeiA3DIgmNRBkpjeh9rOMHDCk0TMoZ5GGQwhgHgWMCi4VCZ1f/yKOf/FdHO/49XWGFPThBTMf3aGWf9f/KUKf+/fv36//fv3//7+vqA6d8BNcUiOx3dkLvV+v/93Oz/2zs4/Hd3d/8f4u38/0G1Dtx1mNEANADdG1jDAmoRqheI0EggOaNmKYSrcEcjAAAA//8XWQ2RAAAABklEQVQDAHc3181KAu2LAAAAAElFTkSuQmCC
  17. // @run-at document-start
  18. // @grant none
  19. // @license MIT
  20. // @supportURL https://github.com/GangPeter/pgscript
  21. // @homepageURL https://github.com/GangPeter/pgscript
  22. // ==/UserScript==
  23.  
  24. (function () {
  25.  
  26. const Css18Comic = [
  27. //通用
  28. `#billboard-modal`,//成年同意
  29. `#guide-modal`,//确认进入
  30. `div.modal-backdrop.fade.in`,//成年同意背景拦截
  31. `div.top-nav > div > ul > div.pull-left > li.top-menu-link`,//顶栏[各种推广链接]
  32. `#wrapper > div.div-bf-pv`,//顶部滚动图
  33. `li:has(a[href*=veteran])`,//好站推荐
  34. `li:has(a[href*=games])`,//游戏
  35. `li:has(a[href*=mailto])`,//廣告洽詢
  36. `li:has(a[href*=videos_cosav])`,//小电影
  37. `a[href*=bonus]`,
  38. `#wrapper > div.footer-pad`,//页底footer
  39. `#wrapper > div.container > div.footer-pad`,//页底footer
  40. `#wrapper > div.footer-container`,//页底footer
  41. `#wrapper > div.container > div.footer-container`,//页底footer
  42. `#wrapper > div.float-right-daily`,//右侧每日签到
  43. `#wrapper > div.float-right-image`,//右侧悬浮图
  44. `#wrapper > div.container > div.row:has(div.col-lg-3)[style]`,//广告
  45. `div.container > div.row:has(div.col-lg-3.col-md-3.col-sm-3.col-xs-6)`,//广告
  46. `#wrapper > div.hidden-lg`,//广告
  47. `div[data-group="album_detail"]`,//广告
  48. `body > div.ipprtcnt`,//广告弹窗
  49. `#wrapper > div.container > div.row > div > div.panel > div.panel-body > div.row > div[data-show*=ok]`,//广告
  50. `iframe`,//广告
  51. `div:has(p)[data-group="content_page"]`,//详细页顶部横幅广告
  52. `div:has(ins)[data-group="content_page"]`,//详细页顶部横幅广告
  53. `div.c835e-33_e`,
  54. `div.center.scramble-page.thewayhome`,
  55. `ul.tips-overlay.container[data-type*=_u_guide]`,//勳章功能提示開始
  56. `#wrapper > div.owl-carousel.partial-view.owl-loaded.owl-drag`,//绅夜食堂横幅广告
  57. `div[id*=exo-native-widget] > div.exo-native-widget-outer-container`,//绅夜食堂文章下方广告
  58. `div.blog_adv`,//底部
  59. `div.top_adv`,//顶部
  60. `div.container > div.row > div > div.panel.panel-default > div[style*=text-align]`,//看漫画页上下广告
  61. //移动端页面
  62. `li.top-menu-m:has(a[data-label="menu-top-link"])`,
  63. `div.d-lg-flex.align-items-center > ul.nav.navbar-nav.navbar-left > li.visible-xs.visible-sm.copy-block`,
  64. `div.d-lg-flex.align-items-center > ul.nav.navbar-nav.navbar-left > li.visible-xs.visible-sm.navbar-nav-icon`,
  65. ];
  66.  
  67. const Css18ComicFix = [
  68. `#wrapper > div.container{padding-bottom:50px!important}`,//修复移动端翻页被遮挡
  69. ];
  70.  
  71. function checkRunFlag(name) {
  72. if (document.getElementById(name)) {
  73. return true;
  74. } else {
  75. let style = document.createElement(`style`);
  76. style.id = name;
  77. (document.head || document.body).appendChild(style);
  78. return false;
  79. }
  80. }
  81.  
  82. function generateRemoveADHTMLElement(id) {
  83. if (checkRunFlag(id)) return false;
  84. let style = document.createElement(`style`);
  85. (document.head || document.body).appendChild(style);
  86. let cssAdArr = generateRemoveADCssText(Css18Comic);
  87. style.appendChild(document.createTextNode((cssAdArr.concat(Css18ComicFix)).join(` `)));
  88. console.log('[18comic增强] 移除广告');
  89. }
  90.  
  91. function generateRemoveADCssText(cssSelectorArr) {
  92. cssSelectorArr.forEach((selector, index) => {
  93. cssSelectorArr[index] = `${selector}{display:none!important}`;
  94. });
  95. return cssSelectorArr;
  96. }
  97.  
  98. function main() {
  99. generateRemoveADHTMLElement(`removeADHTMLElement`);//移除界面中的广告
  100. }
  101.  
  102. if (document.readyState === `loading`) {
  103. document.addEventListener(`DOMContentLoaded`, main);
  104. } else {
  105. main();
  106. }
  107.  
  108. })();