Greasy Fork is available in English.

哔哩哔哩bilibili默认宽屏

Bilibili默认宽屏/全屏(自动点击按钮)

// ==UserScript==
// @name         哔哩哔哩bilibili默认宽屏
// @namespace    https://greasyfork.org/scripts/404862-%E5%93%94%E5%93%A9%E5%93%94%E5%93%A9bilibili%E9%BB%98%E8%AE%A4%E5%AE%BD%E5%B1%8F/code/%E5%93%94%E5%93%A9%E5%93%94%E5%93%A9bilibili%E9%BB%98%E8%AE%A4%E5%AE%BD%E5%B1%8F.user.js
// @version      2024.3.18.00
// @icon         https://www.bilibili.com/favicon.ico
// @icon64       https://s1.ax1x.com/2020/06/17/NV4aEq.png
// @description  Bilibili默认宽屏/全屏(自动点击按钮)
// @author       cngege 优化
// @match        *://*.bilibili.com/list/*
// @match        *://*.bilibili.com/video/*
// @match        *://*.bilibili.com/watchlater/*
// @match        *://*.bilibili.com/bangumi/play/*
// @match        *://*.bilibili.com/medialist/play/*
// @grant        GM_registerMenuCommand
// @grant        GM_unregisterMenuCommand
// @grant        GM_setValue
// @grant        GM_getValue
// @require      https://cdn.jsdelivr.net/npm/jquery@3.4.0/dist/jquery.min.js
// @run-at       document-end
// @license MIT
// ==/UserScript==

(function() {
    'use strict';
    //GM_getValue("wordtype",0);
    //0: 默认宽屏
    //1: 默认网页全屏
    let wordtype = ()=>GM_getValue("wordtype",0);  // 0 ~ 1;
    //let menu_command = null;


    GM_registerMenuCommand("设置默认宽屏", function(){
        GM_setValue("wordtype",0);
    });
    GM_registerMenuCommand("设置默认网页全屏", function(){
        GM_setValue("wordtype",1);
    });
    /*
    // 如果配置中的指示当前是默认宽屏 则注册一个菜单命令 - [当前]默认宽屏
    if(wordtype == 0){
        menu_command = GM_registerMenuCommand("[当前]默认宽屏", MenuCommand);
    }else{
        menu_command = GM_registerMenuCommand("[当前]默认网页全屏", MenuCommand);
    }

    function MenuCommand(){
        if(menu_command != null){
            GM_unregisterMenuCommand(menu_command);
            menu_command = null;
        }
        if(wordtype == 0){
            wordtype = 1;
            menu_command = GM_registerMenuCommand("[当前]默认网页全屏", MenuCommand);
        }
        else {
            wordtype = 0;
            menu_command = GM_registerMenuCommand("[当前]默认宽屏", MenuCommand);
        }
        GM_setValue("wordtype",wordtype);
    }
    */
    var counter=0;
    let iscensor = true; // 当前页面是否需要检查
    let url = geturl();// 获取刚加载脚本时的Url
    setTimeout(censor,1000);
    go();
    function go(){
        counter++;
        // 表示宽屏而不是网页全屏
        if(wordtype() == 0){
            if(geturl().indexOf("bilibili.com/bangumi/play/") != -1){//如果是番剧页面
                let bangumivideo = $(".bpx-docker.bpx-docker-major div.bpx-player-container");
                let bangumi = $(".squirtle-video-widescreen.squirtle-video-item");//bpx-player-ctrl-btn
                if(bangumi.length == 0) bangumi = $(".bpx-player-ctrl-btn.bpx-player-ctrl-wide");
                if(bangumivideo.length > 0 && bangumi.length > 0){
                    //如果是默认的模式
                    if(bangumivideo.attr("data-screen") == "normal"){
                        bangumi.click();
                        iscensor=false;
                    }else if(bangumivideo.attr("data-screen") == "wide"){
                        return;
                    }
                }
            }
            else{  // 如果只是普通的视频页面 https://www.bilibili.com/video/
                if($(".bpx-player-ctrl-btn.bpx-player-ctrl-wide").length){
                    setTimeout(function(){$(".bpx-player-ctrl-btn.bpx-player-ctrl-wide:not(.bpx-state-entered)").click();},500);
                    iscensor = false;
                }
                else if($(".bilibili-player-video-btn.bilibili-player-video-btn-widescreen").length){
                    setTimeout(function(){document.querySelector(".bilibili-player-video-btn.bilibili-player-video-btn-widescreen:not(.closed)").click();},500);
                    iscensor = false;
                }
            }
        }
        // 表示是网页全屏 wordtype == 1
        else{
            if(geturl().indexOf("bilibili.com/bangumi/play/") != -1){//如果是番剧页面
                let bangumivideo = $(".bpx-docker.bpx-docker-major div.bpx-player-container");
                let bangumi = $(".squirtle-video-pagefullscreen.squirtle-video-item");
                if(bangumi.length == 0) bangumi = $(".bpx-player-ctrl-btn.bpx-player-ctrl-web");
                if(bangumivideo.length > 0 && bangumi.length > 0){
                    //如果是默认的模式
                    if(bangumivideo.attr("data-screen") == "normal"){
                        bangumi.click();
                        iscensor=false;
                    }else if(bangumivideo.attr("data-screen") == "web"){
                        return;
                    }
                }
            }
            else{  // 如果只是普通的视频页面 https://www.bilibili.com/video/
                if($(".bpx-player-ctrl-btn.bpx-player-ctrl-web").length){
                    setTimeout(function(){$(".bpx-player-ctrl-btn.bpx-player-ctrl-web:not(.bpx-state-entered)").click();},500);
                    iscensor = false;
                }
                else if($(".bilibili-player-video-btn.bilibili-player-video-web-fullscreen").length){
                    setTimeout(function(){$(".bilibili-player-video-btn.bilibili-player-video-web-fullscreen:not(.closed)").click();},500);
                    iscensor = false;
                }
            }
        }


        //同一个URL页面最多只执行30次
        if(counter>30){
            iscensor = false;
        }
        if(iscensor) setTimeout(go,300);
    }

    //每2秒循环执行判断一次 否则本页面切换视频脚本不重复执行
    // 每次在同页中切换URL,就会执行一次GO();
    function censor(){
        if(url!=geturl()){
           counter=0;
           iscensor=true;
           go();
           url = geturl();
        }
        setTimeout(censor,2000);
    }

    function geturl(){
        return window.location.href;
    }

})();