吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1541|回复: 6
收起左侧

[求助] 如何js实现看一个,自动 全屏下一个视频?

[复制链接]
冥界3大法王 发表于 2021-6-7 17:13

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

闷骚小贱男 发表于 2021-6-7 17:41
本帖最后由 闷骚小贱男 于 2021-6-7 17:55 编辑

这都带了URL和时间了...直接iframe框架+延时跳转?全屏的话.....按F11?

document.getElementById("iframe").src

[JavaScript] 纯文本查看 复制代码
<a href="/v?vid=9631057257739147552" class="card-item-link skeleton" target="_blank">
<picture>
<source srcset="https://tukuimg.bdstatic.com/processed/7b548b05823eb35bd2620f295cad72c6.jpeg@s_0,w_660,h_370,q_80,f_webp" type="image/webp">
<img class="video-img" src="https://tukuimg.bdstatic.com/processed/7b548b05823eb35bd2620f295cad72c6.jpeg@s_0,w_660,h_370,q_80" alt="营养土与园土谁更适合养花?有好处也有坏处,网友:难怪养不好">
</picture>
<div class="videotime">06:30</div>
</a>
badyun 发表于 2021-6-7 17:42
...这人发了好多视频啊,我滚轮拉了好久,硬是没到底
 楼主| 冥界3大法王 发表于 2021-6-7 17:55
闷骚小贱男 发表于 2021-6-7 17:41
这都带了URL和时间了...直接iframe框架+延时跳转?

document.getElementById("iframe").src

@闷骚小贱男
加到Tampermonkey这步操作该如何弄?
闷骚小贱男 发表于 2021-6-7 18:00
本帖最后由 闷骚小贱男 于 2021-6-7 18:18 编辑
冥界3大法王 发表于 2021-6-7 17:55
@闷骚小贱男
加到Tampermonkey这步操作该如何弄?

不太好弄吧..Tampermonkey是要调用自带的下一个视频和全屏的代码咯?
我这个是用工具取到1000多个视频ID
源码里面有MP4视频的地址..直接打开的话,算半个全屏了
闷骚小贱男 发表于 2021-6-7 19:34
本帖最后由 闷骚小贱男 于 2021-6-7 20:28 编辑

就类似的吧....根据视频ID取到视频MP4地址并拼接(time和第几个视频)传值,然后setTimeout换下一个视频

// ==UserScript==
// @name         测试 脚本
// @namespace   Violentmonkey Scripts
// @match       *://haokan.baidu.com/*
// @match       *://vd4.bdstatic.com/*
//
//
//
// @grant       none
// @version     1.0
// @author      -
// @description 2021/1/9 下午2:32:52
// @grant        GM_xmlhttpRequest
// @grant        GM_download
// ==/UserScript==



[JavaScript] 纯文本查看 复制代码


(function () {
    'use strict';
    var time = 0;
    var sz_vid = ['9631057257739147552','4523941987622264346','15027326655618396681','8035610557487612877','5220052409357590207','5483192976575138141','16612745094804585524','8212697985514459708','4256221206703732476','7271168943953759336','8863059078166553570','5804605841205654798','14588707672798819502','11905686853846977570','4340610902573633723','11523111702311037968','9961557674945132008','2157728076464065106','1068506781903443284','12027298560095561504']
    
    var id = 1;
    var interval = setInterval(function () {
            doIt();
            clearInterval(interval);
    }, 1000);

    function doIt() {
      if(window.location.href.indexOf("vd4.bdstatic.com")>0){
        var URL = window.location.search;
        URL = URL.split('?')[1]; //获取参数列表
        var params = URL.split('&');
        console.error(params);
        for (var i = 0; i < params.length; i++) {
            var ps = params[i].split('=');
            console.error(ps[0],ps[1]);
            if(ps[0] = 'id'){
              id = ps[1];
            }
            if(ps[0] = 'time'){
              time = ps[1];
              setTimeout(取链接(id), time )//time处理下
            }
        }   
      }else{
        取链接(id)
      }
      
    }
    function 取链接(a) {
      a = sz_vid [id];
      console.log("请求成功," + a);
        GM_xmlhttpRequest({
            method: "POST",
            url: "https://haokan.baidu.com/v?vid=" + a,
            headers: {
                "Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
            },
            data: "content=erwer",
            onload: function (response) {
                console.log("请求成功");
                var str1 = response.responseText
                var str = getStr(str1,'u5149','=","videoBps')
                str = str.substring(9);
                str = str.replace(/\\/g,"")
                console.log('播放地址:' + str);//视频mp4
                //,"time_length":"06:30",
                str = getStr(str1,'time_length','","dura')
                str = str.substring(3);
                console.log('视频时间:' + str);//视频mp4
                if(str.indexOf(".mp4?") != -1 ){
                  location.href = str + '&time=' + str + '&id=' + id+1;    //传视频时间和视频id进来 然后跳转
                  
                }
            },
            onerror: function (response) {
                console.log("请求失败");
            }
        });
    }
function getStr(str, start, end) {
    let res = str.match(new RegExp(`${start}(.*?)${end}`))
    return res ? res[1] : null
}
  
  
})();






                

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
安辰- + 1 + 1 感谢大大分享具体代码,最近正有这个需求

查看全部评分

cube 发表于 2021-6-8 15:38

首先要明确的是 览器不允许自动全屏播放.览器不允许自动全屏播放.览器不允许自动全屏播放

但可以为video设置css样式控制自适应屏幕,使其尽可能的在浏览器内最大化.但依然不是全屏.

如果从视频播放页进入. 则如下步骤

  1. 通过https://haokan.baidu.com/videoui/api/videoauthor?vid=[视频vid]得到mthid
  2. 通过https://haokan.baidu.com/web/author/listall?app_id=[mthid]&ctime=[14位时间戳]&rn=10&_api=1得到作者的作品集
  3. 通过作品集得到所有视频播放源(找__PRELOADED_STATE__
  4. 播放源有了,就可以随意安排了,你可以使用猴子的@require载入DPlayer,按照DPlayer的说明配置就行了.DPlayer可以自动下一集.
  5. 也可以直接在当前播放页为video增加播放完成的处理事件.

免费评分

参与人数 1吾爱币 +1 收起 理由
冥界3大法王 + 1 用心讨论,共获提升!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 02:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表