Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5视频自动播放/播放一次_Javascript_Jquery_Html - Fatal编程技术网

Javascript HTML5视频自动播放/播放一次

Javascript HTML5视频自动播放/播放一次,javascript,jquery,html,Javascript,Jquery,Html,我有一个网页a,B,C,D。 在起始页-A-有一个html5视频,设置为自动播放。 因此,视频从加载页面开始。视频播放一次,结束时显示“再次播放”按钮。到目前为止还可以。 如果我访问B页或C页,然后再次转到A页,视频将再次开始。 但我只想为每个访问者启用一次自动播放。 应该是这样的:一次访问网页,从A页开始,看一次视频,转到B页或C页或D页,再回到A页(使用链接或后退按钮);然后找到“再次播放”按钮,而不是再次播放视频 编辑: 感谢使用cookies的想法;现在我了解到,在欧洲有一条法律,你必须

我有一个网页a,B,C,D。 在起始页-A-有一个html5视频,设置为自动播放。 因此,视频从加载页面开始。视频播放一次,结束时显示“再次播放”按钮。到目前为止还可以。 如果我访问B页或C页,然后再次转到A页,视频将再次开始。 但我只想为每个访问者启用一次自动播放。 应该是这样的:一次访问网页,从A页开始,看一次视频,转到B页或C页或D页,再回到A页(使用链接或后退按钮);然后找到“再次播放”按钮,而不是再次播放视频

编辑:

感谢使用cookies的想法;现在我了解到,在欧洲有一条法律,你必须告诉使用饼干的访客,并在首页上给他一个选择,他是否愿意接受饼干

所以我想使用window.sessionStorage来实现这个目的

这是我的代码,告诉视频设置为autoplay=false,并显示“再次播放”按钮

HTML


我的目标是:从B页或C页返回到起始页-A-(见上文)类“.video playing”应设置为“.video wait”,将“.play”设置为“hide_play”,将“autoplay”设置为“false”

我认为使用sessionStorage对我来说是最好的,因为打开一个新窗口时,它应该从头开始

不幸的是,我不知道如何在代码中实现会话存储


链接:

您必须将该用户保存在站点上的某个位置,您可以将其保存到会话、数据库、本地存储或Cookie中。我建议使用Cookie,因为它位于客户端(因此您无需修改数据库或使用php设置会话)

与JS一起使用Cookies

然后用户进入A页:

        function setCookie(cookieName, cookieValue, expireDays,isGlobal) {
            var expireDate = new Date();
            expireDate.setTime(d.getTime() + (expireDays*24*60*60*1000));
            var expires = "expires="+expireDate.toUTCString();
            if(isGlobal){
                document.cookie = cookieName + "=" + cookieValue + "; " + expires+"; path=/";
            }else{
                document.cookie = cookieName + "=" + cookieValue + "; " + expires;
            }
        }

        function getCookie(cookieName) {
           var name = cookieName + "=";
           var ca = document.cookie.split(';');
           for(var i=0; i<ca.length; i++) {
             var c = ca[i];
             while (c.charAt(0)==' ') c = c.substring(1);
               if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
            }
          return "";
     }

    function checkCookie(cookieName) {
        if (getCookie(cookieName) != "") {
            return true;
        } else {
            return false;
        }
    }

    $(document).ready(function(){
      if(checkCookie('visited')){
         //SHOW PLAY/STOP BUTTONS
      }else{
        setCookie('visited',1,3,false);
        //PLAY VIDEO AUTOMATICALLY eg. document.getElementById('player').get(0).play();
      }
    });
函数setCookie(cookieName、cookieValue、expireDays、isGlobal){
var expireDate=新日期();
expireDate.setTime(d.getTime()+(expireDays*24*60*60*1000));
var expires=“expires=“+expireDate.toutString();
如果(isGlobal){
document.cookie=cookieName+“=”+cookieValue+”;“+expires+”;path=/”;
}否则{
document.cookie=cookieName+“=”+cookieValue+”;“+过期;
}
}
函数getCookie(cookieName){
变量名称=cookieName+“=”;
var ca=document.cookie.split(“;”);

对于(var i=0;i您必须设置一个cookie来确定用户是否已经访问过,并且您必须控制javascript中的自动播放。Brightcove有一个很棒的HTML5视频库来完成这样的调用。使用它,您可以创建一个js对象,它包含您需要的所有内容。因此,假设您使用jQuery,您可以做一些事情像这样:

var myPlayer = videojs('idOfVideo');

if (!!$.cookie('return-user')) {
    myPlayer.autoplay(true);
} else {
    myPlayer.autoplay(false);
    $.cookie('return-user', {
        expires: 365
      });
}

您可以使用HTML5 localStorage,但这只有在用户关闭选项卡或浏览器窗口之前才有效。但如果未设置cookie。
        function setCookie(cookieName, cookieValue, expireDays,isGlobal) {
            var expireDate = new Date();
            expireDate.setTime(d.getTime() + (expireDays*24*60*60*1000));
            var expires = "expires="+expireDate.toUTCString();
            if(isGlobal){
                document.cookie = cookieName + "=" + cookieValue + "; " + expires+"; path=/";
            }else{
                document.cookie = cookieName + "=" + cookieValue + "; " + expires;
            }
        }

        function getCookie(cookieName) {
           var name = cookieName + "=";
           var ca = document.cookie.split(';');
           for(var i=0; i<ca.length; i++) {
             var c = ca[i];
             while (c.charAt(0)==' ') c = c.substring(1);
               if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
            }
          return "";
     }

    function checkCookie(cookieName) {
        if (getCookie(cookieName) != "") {
            return true;
        } else {
            return false;
        }
    }

    $(document).ready(function(){
      if(checkCookie('visited')){
         //SHOW PLAY/STOP BUTTONS
      }else{
        setCookie('visited',1,3,false);
        //PLAY VIDEO AUTOMATICALLY eg. document.getElementById('player').get(0).play();
      }
    });
var myPlayer = videojs('idOfVideo');

if (!!$.cookie('return-user')) {
    myPlayer.autoplay(true);
} else {
    myPlayer.autoplay(false);
    $.cookie('return-user', {
        expires: 365
      });
}