Javascript HTML5视频自动播放/播放一次
我有一个网页a,B,C,D。 在起始页-A-有一个html5视频,设置为自动播放。 因此,视频从加载页面开始。视频播放一次,结束时显示“再次播放”按钮。到目前为止还可以。 如果我访问B页或C页,然后再次转到A页,视频将再次开始。 但我只想为每个访问者启用一次自动播放。 应该是这样的:一次访问网页,从A页开始,看一次视频,转到B页或C页或D页,再回到A页(使用链接或后退按钮);然后找到“再次播放”按钮,而不是再次播放视频 编辑: 感谢使用cookies的想法;现在我了解到,在欧洲有一条法律,你必须告诉使用饼干的访客,并在首页上给他一个选择,他是否愿意接受饼干 所以我想使用window.sessionStorage来实现这个目的 这是我的代码,告诉视频设置为autoplay=false,并显示“再次播放”按钮 HTMLJavascript HTML5视频自动播放/播放一次,javascript,jquery,html,Javascript,Jquery,Html,我有一个网页a,B,C,D。 在起始页-A-有一个html5视频,设置为自动播放。 因此,视频从加载页面开始。视频播放一次,结束时显示“再次播放”按钮。到目前为止还可以。 如果我访问B页或C页,然后再次转到A页,视频将再次开始。 但我只想为每个访问者启用一次自动播放。 应该是这样的:一次访问网页,从A页开始,看一次视频,转到B页或C页或D页,再回到A页(使用链接或后退按钮);然后找到“再次播放”按钮,而不是再次播放视频 编辑: 感谢使用cookies的想法;现在我了解到,在欧洲有一条法律,你必须
我的目标是:从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
});
}