Greasy Fork

Greasy Fork is available in English.

b站首页清爽版

这是一个清爽版b站首页的脚本,可以使得首页只有首页推荐

当前为 2021-11-30 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         b站首页清爽版
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  这是一个清爽版b站首页的脚本,可以使得首页只有首页推荐
// @author       Waflare
// @match        https://www.bilibili.com/
// @icon         https://www.google.com/s2/favicons?domain=bilibili.com
// @grant        GM_addStyle
// @grant        GM_xmlhttpRequest
// @require      https://code.jquery.com/jquery-3.6.0.js
// @license      MIT
// ==/UserScript==

(function() {
  'use strict';
  function getFrontPage() {
    let url = 'https://api.bilibili.com/x/web-interface/index/top/rcmd?fresh_type=3';
    return new Promise((resolve, reject) => {
      GM_xmlhttpRequest({
        method: 'GET',
        url: url,
        onload: (r) => {
          let result = JSON.parse(r.response).data.item;
          resolve(result);
        }
      })
    })
  }

  function getTemplate(item) {
    return `
      <div class='w_item' id='${item.bvid}'>
        <img src='${item.pic}' />
        <div class='w_detail'>
          <div class='w_up'>${item.owner.name}</div>
          <div class='w_stat'>
            <div>[播放] ${item.stat.view}</div>
            <div>[点赞] ${item.stat.like}</div>
          </div>
          <div class='w_title'>${item.title}</div>
        </div>
      </div>
    `
  }

  function gotoPage(url) {
    let _url = url;
    return function() {
      console.log(_url);
      window.open(_url, '_blank');
    }
  }

  async function formatData() {
    let data_1 = await getFrontPage();
    let data_2 = await getFrontPage();
    let data = [...data_1, ...data_2];
    console.log(data);
    $('#internationalHeader').after(`
      <div id="w_body">
        <div id="w_content"></div>
      </div>
    `);
    for (let item of data) {
      $('#w_content').append(getTemplate(item));
      $(`#${item.bvid}`).on('click', gotoPage(item.uri));
    }
    $('#w_content').append('<div id="w_btn">更多</div>');
    $('#w_btn').on('click', moreVideo);
  }

  async function moreVideo() {
    let data = await getFrontPage();
    for (let item of data) {
      $('#w_btn').before(getTemplate(item));
      $(`#${item.bvid}`).on('click', gotoPage(item.uri));
    }
  }

  formatData();


  GM_addStyle(`
    .international-home .storey-box {
      display: none;
    }
    .international-home .first-screen {
      display: none;
    }
    #w_body {
      display: flex;
      justify-content: center;
      margin-bottom: 20px;
    }

    @media screen and (max-width: 1870px) {
      #w_content {
        width: 1414px;
      }
      .w_item {
        width: 186px !important;
      }
      #w_btn {
        width: 186px !important;
        height: 193px !important;
        line-height: 193px !important;
      }
    }

    @media screen and (max-width: 1654px) {
      #w_content {
        width: 1198px;
      }
      .w_item {
        width: 186px !important;
      }
      #w_btn {
        width: 186px !important;
        height: 193px !important;
        line-height: 193px !important;
      }
    }

    @media screen and (max-width: 1438px) {
      #w_content {
        width: 999px;
      }
      .w_item {
        width: 186px !important;
      }
      #w_btn {
        width: 186px !important;
        height: 193px !important;
        line-height: 193px !important;
      }
    }

    #w_content {
      max-width: 1630px;
      display: flex;
      justify-content: flex-start;
      flex-flow: wrap;
    }
    .w_item {
      width: 255px;
      margin-bottom: 10px;
      display: flex;
      flex-direction: column;
      margin-left: 10px;
    }
    .w_item:hover {
      cursor: pointer;
    }
    .w_item > img{
      width: 100%;
    }
    .w_item > .w_detail {
      width: 100%;
    }
    .w_detail > .w_title {
      width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      font-size: 14px;
      line-height: 20px;
    }
    .w_detail > .w_up {
      font-size: 14px;
      font-weight: bolder;
      color: #f1739a;
    }
    .w_detail > .w_stat {
      font-size: 12px;
      font-weight: bolder;
      color: #22397e;
      display: flex;
      justify-content: space-between;
    }
    #w_btn {
      width: 255px;
      height: 235px;
      border: 2px #e0e0e0 dashed;
      border-radius: 8px;
      line-height: 235px;
      font-size: 16px;
      text-align: center;
      color: #e0e0e0;
      margin-left: 10px;
    }
    #w_btn:hover {
      cursor: pointer;
    }
  `)
})();