Greasy Fork

Greasy Fork is available in English.

哔哩哔哩(B站)自动回到旧版页面

通过比较与更改 Cookie 来使哔哩哔哩快速自动回到旧版页面

目前为 2023-07-29 提交的版本。查看 最新版本

// ==UserScript==
// @name               哔哩哔哩(B站)自动回到旧版页面
// @namespace          让我们对新版页面使用炎拳吧
// @description        通过比较与更改 Cookie 来使哔哩哔哩快速自动回到旧版页面
// @version            1.4.2
// @author             Tinhone
// @license            GPL-3.0
// @match              *://*.bilibili.com/*
// @exclude            *://www.bilibili.com/v/game/*
// @grant              GM_setValue
// @grant              GM_getValue
// @grant              GM_registerMenuCommand
// @compatible         firefox V35+
// @compatible         edge V35+
// @compatible         chrome V35+
// @icon               data:image/png;base64,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
// ==/UserScript==

(function () {
    'use strict'

    function setCookie(nameAndValue) {
        document.cookie = `${nameAndValue}; expires=Fri, 1 Jan 2077 00:00:00 GMT; domain=bilibili.com; path=/`
    }

    function deleteCookie(nameAndValue) {
        document.cookie = `${nameAndValue}; expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=bilibili.com; path=/`
    }

    //先赋值,运行速度更快
    const tempCookie = document.cookie
    if (!(
        /i-wanna-go-back\=2;?/.test(tempCookie)
        && /i-wanna-go-channel-back\=2;?/.test(tempCookie)
        && /go_old_video\=1;?/.test(tempCookie)
        && /nostalgia_conf\=2;?/.test(tempCookie)
        && /ogv_channel_version\=v1;?/.test(tempCookie)
        && /go-back-dyn\=1;?/.test(tempCookie)
        && /opus-goback\=1;?/.test(tempCookie)
        && /blackside_state\=0;?/.test(tempCookie)
        && /is-2022-channel\=0;?/.test(tempCookie)
    )) {
        //*.bilibili.com/*
        //全站灰度控制?
        setCookie("blackside_state=0")

        //www.bilibili.com
        //主站首页
        setCookie("i-wanna-go-back=2")

        //www.bilibili.com/v/channel/*
        //频道?
        setCookie("i-wanna-go-channel-back=2")

        //www.bilibili.com/video/*
        //普通视频灰度控制?
        setCookie("is-2022-channel=0")

        //www.bilibili.com/video/*
        //普通视频
        setCookie("go_old_video=1")

        //search.bilibili.com/*
        //搜索
        setCookie("nostalgia_conf=2")

        //www.bilibili.com/*/*
        //二级页面(分区)
        setCookie("ogv_channel_version=v1")

        //t.bilibili.com
        //动态首页
        setCookie("go-back-dyn=1")

        //www.bilibili.com/opus/*
        //OPUS页面(专栏+动态)?这个Cookie没有被正常应用,还不好说
        setCookie("opus-goback=1")

        location.reload()
    }

    function backupAllRemoteControlCookies() {
        const buvid3_cookieNameAndValue = document.cookie.match(/(?<=)buvid3=[\S]*?(?=\;)/)[0]
        GM_setValue("AllRemoteControlCookies", buvid3_cookieNameAndValue)
    }

    function deleteAllRemoteControlCookies() {
        backupAllRemoteControlCookies()

        //*.bilibili.com/*
        //全站灰度控制
        deleteCookie("buvid3=")

        location.reload()
    }

    function rollbackAllRemoteControlCookies() {
        const buvid3_cookieNameAndValue = GM_getValue("AllRemoteControlCookies")
        setCookie(buvid3_cookieNameAndValue)
        location.reload()
    }

    GM_registerMenuCommand("删除所有受远控的 Cookie,请当页面仍是新版时尝试", deleteAllRemoteControlCookies)
    GM_registerMenuCommand("回退所有受远控的 Cookie 到上一个备份", rollbackAllRemoteControlCookies)
})()