op.gg纯净版,查看英雄数据

op.gg去除垃圾广告,opgg

// ==UserScript==
// @name         op.gg纯净版,查看英雄数据
// @namespace    http://tampermonkey.net/
// @description  op.gg去除垃圾广告,opgg
// @version      0.2
// @author       tomiaa
// @match      *://www.op.gg/
// @match      *://www.op.gg/champion/statistics
// @match      *://www.op.gg/champion/*/statistics/*
// ==/UserScript==
;(() => {
  const $ = id => document.querySelector(id);
  console.clear();
  // window.addEventListener('load',() => {
  //   console.clear();
  //   setTimeout(() => {
  //     console.clear();
  //   },2000)
  // })
  const config = {
    'https://www.op.gg/': { // 首页
      remove: [
        '.life-owner', // 搜索底下广告
        '.image-banner', // 顶部banner
        '.alert', // 提示
        '.l-footer',  // 底部
        '.community-best',    // 热门文章
        '.vm-footer',   // 底部弹出
        '#beacon-container', // 右下角聊天

      ],
      css: `
      .image-banner,
      .alert,
      .l-footer,
      .life-owner{
        display: block !important;
        opacity: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
      }
      `
    },
    'https://www.op.gg/champion/statistics':{ // 英雄列表
      remove: [
        '.alert', // 提示
        '.life-owner',  // 广告
        '.l-footer', // 底部
        '.vm-footer',   // 底部弹出
        '#beacon-container', // 右下角聊天
        '.vm-skin',     // 左右两侧
        '.vm-skin-left', // 左右 两侧
        '.image-banner',  // 顶部
      ],
      css: `
      .alert,
      .l-footer,
      .life-owner{
        display: block !important;
        opacity: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
      }
      `,
    },
    'https://www.op.gg/champion/*/statistics/*': { // 英雄数据
      remove: [
        '.life-owner',  //广告
        '.l-footer',  // 底部
        '.alert',   // 提示
        '#beacon-container', // 右下角聊天
        '.vm-footer',   // 底部弹出
        '.vm-skin',     // 左右两侧
        '.vm-skin-left', // 左右 两侧
        '.image-banner',  // 顶部
      ],
      css: `
      .alert,
      .l-footer,
      .vm-footer,
      .life-owner{
        display: block !important;
        opacity: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
      }
      `
    }
  }


  class BaiduClear {

    constructor(config){
      this.config = config;
      this.domain = '';
      this.query = null;
      this.init();
    }

    init(){
      const currentHref = location.href.split('?');
      this.domain = currentHref[0];
      this.query = currentHref[1];
      if(/\/\w+\/statistics\/\w+/.test(this.domain)){
        this.domain = 'https://www.op.gg/champion/*/statistics/*';
      }
      console.log(this.config?.[this.domain]);
      this.removeToHidden(this.config?.[this.domain]?.remove);
      this.addCss(this.config?.[this.domain]?.css);
      this.remove(this.config?.[this.domain]?.remove);
      this.config?.[this.domain]?.fn?.();
    }

    remove(arr = []){
      arr.map(item => $(item)).forEach(item => {
        item?.remove();
      })
    }

    removeToHidden(arr = []){
      if(!arr.length) return;
      this.addCss(arr.join(',') + `{    
        display: none !important;
        opacity: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
      }`)
    }

    addCss(css = ''){
      if(!css) return;
      let  style = document.createElement('style')
      style.innerHTML = css;
      document.documentElement.appendChild(style);
    }

  }
  new BaiduClear(config);
})();