我正在寻找一种解决方案来加载视频以便在进入网站之前查看。 在观看视频时,会有一个简单的注册表单,其中包含两个字段,如果提交,则允许跳过视频。
我可以检查一个SESSION变量并从任何页面重定向到视频页面如果没有被查看...问题是我需要以某种方式检测视频结束事件或类似的东西,然后设置一个SESSION变量at视频结束。
该网站基于Joomla,我也可以使用自定义PHP解决方案。
答案 0 :(得分:0)
请检查一下......
Detect when an HTML5 video finishes
你只需要放一个window.location ='http://seusite.com';
在END事件中..
答案 1 :(得分:0)
如果您使用youtube显示视频,则可以使用youtube api实现此目的。
<div id="player"></div>
<script src="http://www.youtube.com/player_api"></script>
<script>
// create youtube player
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: '0Bmhjf0rKe8',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// autoplay video
function onPlayerReady(event) {
event.target.playVideo();
}
// when video ends
function onPlayerStateChange(event) {
if(event.data === 0) {
alert('done');
}
}
</script>
在event.data === 0
之后,您可以判断该视频已完成,并且可以重定向回您的网页或
答案 2 :(得分:0)
这很简单,你需要提供更多关于视频来源的信息吗?
我猜youtube是要走的路,所以这里有你的指示,我建议在问之前先尝试一下,因为你在这里发了功课,而不是问题!
您只需要为youtube API ping服务:
function onPlayerStateChange(evt) {
if (evt.data == 0){
alert (player.getDuration())
}
}
在这里你可以根据一些规则设置会话,在这里获得关于这个api的更多信息 https://developers.google.com/youtube/js_api_reference
如果您使用自己的html5视频和自己的播放器
$('video#test-vid').bind("progress",function(e){
console.log(e.total + ' ' + e.loaded + ' ' + e.lengthComputable );
});
在此之后,特定用户实例的视图将成立,然后您可以让人们看到其余内容。
您可以尝试存储之前看过该视频的用户的IP,这样您就不会再显示它了。
至于隔离井这里很容易解释:
基本上在设置会话之前确保你有
session_start(); // before thinking of ending or setting sessions
$_SESSION['seen_video'] = $result;