Use old Bilibili home page and video page
当前为
// ==UserScript==
// @name Bilibili Old
// @name:zh-CN 旧版 Bilibili
// @version 0.2
// @description Use old Bilibili home page and video page
// @description:zh-CN 使用旧版 Bilibili 主页和播放页
// @author GForkMe.L
// @run-at document-start
// @match *://www.bilibili.com/*
// @grant GM_registerMenuCommand
// @namespace https://greasyfork.org/users/12904
// ==/UserScript==
(function () {
"use strict";
const MAX_AGE = 60 * 60 * 24 * 365;
const PLAYER_CONF = "bpx_player_profile";
const SCRIPT_STAT = "bili_old_video";
function updateStat({ no_v_autoplay, no_rcmv_autoplay, no_feeds, old_home, old_video }) {
const STAT = { no_v_autoplay: 0, no_rcmv_autoplay: 0, no_feeds: 0, old_home: 0, old_video: 0 };
Object.assign(STAT, JSON.parse(localStorage.getItem(SCRIPT_STAT)) ?? STAT);
STAT.no_v_autoplay += no_v_autoplay ? 1 : 0;
STAT.no_rcmv_autoplay += no_rcmv_autoplay ? 1 : 0;
STAT.no_feeds += no_feeds ? 1 : 0;
STAT.old_home += old_home ? 1 : 0;
STAT.old_video += old_video ? 1 : 0;
localStorage.setItem(SCRIPT_STAT, JSON.stringify(STAT));
}
function noVideoAutoplay() {
const CONF = JSON.parse(localStorage.getItem(PLAYER_CONF)) ?? { media: { autoplay: false } };
if (!CONF.media.autoplay) {
CONF.media.autoplay = false;
localStorage.setItem(PLAYER_CONF, JSON.stringify(CONF));
}
updateStat({ no_v_autoplay: true });
}
function noRcmAutoplay() {
const CONF = JSON.parse(localStorage.getItem(PLAYER_CONF)) ?? { media: { handoff: 2 } };
if (CONF.media.handoff != 2) {
CONF.media.handoff = 2;
localStorage.setItem(PLAYER_CONF, JSON.stringify(CONF));
}
if (localStorage.getItem("recommend_auto_play") !== "close") {
localStorage.setItem("recommend_auto_play", "close");
}
updateStat({ no_rcmv_autoplay: true });
}
function noFeed() {
document.cookie = "i-wanna-go-feeds=-1; path=/; max-age=" + MAX_AGE;
updateStat({ no_feeds: true });
}
function oldHome(useOldHome = true) {
if (!useOldHome) {
document.cookie = "i-wanna-go-back=-1; domain=bilibili.com; path=/; max-age=" + MAX_AGE;
} else {
document.cookie = "i-wanna-go-back=2; domain=bilibili.com; path=/; max-age=" + MAX_AGE;
updateStat({ old_home: true });
}
}
function oldVideo() {
document.cookie = "go_old_video=1; path=/; max-age=" + MAX_AGE;
updateStat({ old_video: true });
}
// Use no feed bilibili homepage, old video page and stop autoplay.
if (!document.cookie.includes("SESSDATA")) {
if (!localStorage.getItem(SCRIPT_STAT)) {
noFeed();
noVideoAutoplay();
noRcmAutoplay();
oldVideo();
}
}
// Context menu
const mid0 = GM_registerMenuCommand("No Feed", () => {
noFeed();
});
const mid1 = GM_registerMenuCommand("No Video and Recommend Autoplay", () => {
noVideoAutoplay();
noRcmAutoplay();
});
const mid2 = GM_registerMenuCommand("No Video Autoplay", () => {
noVideoAutoplay();
});
const mid3 = GM_registerMenuCommand("No Recommend Autoplay", () => {
noRcmAutoplay();
});
const mid4 = GM_registerMenuCommand("Old Homepage", () => {
oldHome(true);
// location.reload();
});
const mid5 = GM_registerMenuCommand("New Homepage", () => {
oldHome(false);
// location.reload();
});
})();