百度网盘链接直接观看视频

```
// ==UserScript==
// @name 百度网盘分享页视频30秒预览限制解除
// @namespace http://tampermonkey.net/
// @version 1.1
// @description 自动解除百度网盘分享页面(pan.baidu.com/s/)视频播放30秒的限制,移除遮罩,允许自由播放。
// @author
// @match ://pan.baidu.com/s/
// @“grant”#12603 none
// @run-at document-idle
// @license MIT
// ==/UserScript==

(function() {
‘use strict’;

console.log("[网盘30秒限制解除脚本]:开始运行...");

const MAX_WAIT_TIME = 20000;
const CHECK_INTERVAL = 500;  

let intervalId = null;
let startTime = Date.now();
let processed = false; // 标记是否已处理过

function applyBypass() {
    if (processed) { // 如果已经成功处理过,就不再执行
        clearInterval(intervalId);
        return true;
    }

    // 查找核心元素
    const video = document.querySelector("#html5player_html5_api");
    const overlay = document.querySelector("#video-wrap-outer > div.video-overlay-iframe");
    // 查找自定义控制条(可选,用于隐藏)
    const customControlBar = document.querySelector("#html5player > div.vjs-control-bar");

    // 必须找到视频元素和遮罩层才继续
    if (video && overlay) {
        console.log("[网盘30秒限制解除脚本]:检测到视频播放器和遮罩层。");

        try {
            // 1. 隐藏遮罩层
            if (overlay.style.display !== 'none') {
                overlay.style.display = 'none';
                console.log("[网盘30秒限制解除脚本]:已隐藏遮罩层。");
            }

            // 2. 尝试禁用 video.pause() 方法 (核心步骤)
            //    检查 pause 是否还是一个函数,避免重复设置或出错
            if (typeof video.pause === 'function') {
                video.pause = null; // 将 pause 方法置空
                console.log("[网盘30秒限制解除脚本]:已尝试禁用 video.pause()。");
            } else {
                 console.log("[网盘30秒限制解除脚本]:video.pause 不是函数或已被处理。");
            }


            // 3. 强制显示浏览器原生控件
            if (!video.controls) {
                video.controls = true;
                console.log("[网盘30秒限制解除脚本]:已启用原生播放控件。");
            }

            // 4. 隐藏百度自定义控制条(可选,如果原生控件够用且自定义控件干扰)
            if (customControlBar && customControlBar.style.display !== 'none') {
                customControlBar.style.display = 'none';
                 console.log("[网盘30秒限制解除脚本]:已隐藏百度自定义控制条。");
            }

            // 成功处理
            processed = true; // 标记为已处理
            clearInterval(intervalId); // 停止轮询
            console.log("[网盘30秒限制解除脚本]:限制解除操作完成!");
            return true; // 表示成功

        } catch (error) {
            console.error("[网盘30秒限制解除脚本]:应用解除逻辑时出错:", error);
            clearInterval(intervalId); // 出错也停止轮询
            return true; // 停止尝试
        }

    } else {
        // 如果还没找到元素,检查是否超时
        if (Date.now() - startTime > MAX_WAIT_TIME) {
            console.log("[网盘30秒限制解除脚本]:超时(" + MAX_WAIT_TIME/1000 + "秒),未找到所需的播放器或遮罩元素。脚本停止。");
            clearInterval(intervalId); // 超时停止轮询
        }
        return false; // 表示元素尚未准备好
    }
}

// --- 启动执行 ---
// 使用 setInterval 定时检查元素是否存在,因为播放器可能是动态加载的
intervalId = setInterval(() => {
     console.log("[网盘30秒限制解除脚本]:正在查找播放器元素...");
     applyBypass();
 }, CHECK_INTERVAL);

 // 也可以在启动时立即尝试一次,以防元素已存在
 applyBypass();

})();
```

来自:https://linux.do/t/topic/522430