Greasy Fork is available in English.

一键打开稍后播放的前十二个视频

使用按钮在新标签页中分批打开稍后播放列表中的视频,每次12个

// ==UserScript==
// @name         一键打开稍后播放的前十二个视频
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  使用按钮在新标签页中分批打开稍后播放列表中的视频,每次12个
// @author       Your Name
// @match        *://www.bilibili.com/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    let startIndex = 0; // 用于跟踪当前打开视频的起始索引

    // 函数:在新标签页中打开当前批次的十二个视频
    function openVideos() {
        let items = document.querySelectorAll('.watch-later-list .list-box .av-item');

        // 每次打开 12 个视频
        for (let i = startIndex; i < Math.min(startIndex + 12, items.length); i++) {
            let item = items[i];
            let link = item.querySelector('a');
            if (link) {
                window.open(link.href, '_blank');
            }
        }

        // 更新起始索引
        startIndex += 12;
    }

    // 函数:创建并添加按钮到页面
    function addButton() {
        let button = document.createElement('button');
        button.innerHTML = '打开12个';
        button.style.padding = '10px';
        button.style.backgroundColor = '#00A1D6';
        button.style.color = '#FFFFFF';
        button.style.border = 'none';
        button.style.borderRadius = '8px';
        button.style.cursor = 'pointer';
        button.style.fontSize = '14px';
        button.style.marginRight = '10px'; // 添加右边距,使按钮与下一个元素分开

        button.addEventListener('click', openVideos);

        // 找到目标按钮并将新按钮插入到其之前
        let targetButton = document.querySelector('a.s-btn[href="//www.bilibili.com/medialist/play/watchlater"]');
        if (targetButton) {
            targetButton.parentNode.insertBefore(button, targetButton);
        }
    }

    // 确保脚本在页面完全加载后运行
    window.addEventListener('load', function() {
        addButton();
    }, false);
})();