【问题标题】:Loop through videos and refresh after each循环播放视频并在每次播放后刷新
【发布时间】:2016-07-09 09:08:15
【问题描述】:

我想同时播放多个视频。但是,我希望每次视频结束时都刷新页面。

我该怎么做?

现在我有这个:

<script>
    video_count =1;
    videoPlayer = document.getElementById("homevideo");

    function run(){
            video_count++;
            if (video_count == 6) video_count = 1;
            var nextVideo = "Videos/demo/"+video_count+".mp4";
            videoPlayer.src = nextVideo;
            videoPlayer.play();
       };
</script>

还有

<video id="homevideo" width="100%" autoplay onended="run()">
    <source src="Videos/demo/1.mp4" type='video/mp4'/>
</video>

现在可以正常工作了(下一个视频在第一个视频完成后开始。) 但是我不知道如何构建自动刷新。无需再次从第一个视频开始。

编辑:

用php可以吗?

这就是我现在所做的:

<?php
$videos=array("Videos/treinen/1.mp4",
    "Videos/Demo/1.mp4",
    "Videos/Demo1/2.mp4",
    "Videos/Demo/2.mp4",
    "Videos/Demo1/3.mp4",
    "Videos/Demo/3.mp4",
    "Videos/Demo1/4.mp4",
    "Videos/Demo/4.mp4",
    "Videos/Demo1/5.mp4",
    "Videos/Demo/5.mp4",
    "Videos/Demo1/6.mp4"); 
echo $videos[0] . $videos[1] . $videos[2] . $videos[3] . $videos[4] . $videos[5] . $videos[6] . $videos[7] . $videos[8] . $videos[9];
?>

可以吗

<div class="embed-responsive embed-responsive-16by9">
    <iframe class="embed-responsive-item" src="<?php echo $videos; ?>"></iframe>
</div>

这当然还不行,但我希望你们能明白我的想法。 (我想通过会话存储它。由于引导程序,我正在使用 iframe)。

【问题讨论】:

  • 使用 cookie 存储您正在观看的视频。

标签: javascript php html loops


【解决方案1】:

你必须在某处存储video_count,因为刷新后video_count也会被刷新。

你有几个选择:

  1. 在会话中存储
  2. 存储在 cookie 中
  3. 存储在数据库中(使用 Ajax)

会话示例:

你可以用这个插件让它变得非常快:https://github.com/AlexChittock/JQuery-Session-Plugin

设置会话:

$.session.set("userName", $("#uname").val());

获取会话:

$.session.get('userName');

【讨论】:

  • 不,混合 php 和 javascript 变量不是一个好主意。最好的办法是搭配饼干。
  • cookie 的问题在于,用户可以更改它们。如果您想展示视频广告等,那不是最好的主意。
  • 用 php 不行吗?我只是将所有路径方向放在一个数组中。是否可以将它们存储在会话中,然后在 src 位置回显数组?我将在主要答案上编辑它
【解决方案2】:

这个问题有很多解决方案。如果您想坚持使用重定向解决方案,您可以使用网络存储或 cookie。

function run(){
    if(typeof(Storage) !== "undefined") {
        var video_count = localStorage.getItem("video_count");
        if (video_count === null) {
            video_count = 1;
        }
        //play video
        video_count++;
        //set new video count
        localStorage.setItem("video_count", video_count);
        //redirect
    }
};

更好的解决方案是使用 ajax 返回一个带有数据的新 json,以刷新页面上的内容,并且根本不使用重定向。

function run(){
    //play next video without refreshing
    $.ajax({
        url: "data.php",
        success: function(response){
            //refresh data on page
            $('#content').html(response);
        }
    })
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-07
    相关资源
    最近更新 更多