我使用//www.youtube.com/embed/JDcaMVwCr3c?wmode=opaque&showinfo=0&autoplay=1&controls=0&modestbranding=1&vq=&rel=0
个网址在我的网站中嵌入了一个视频。
现在,如果用户访问该网站,视频将会播放,但如果用户没有观看完整视频并重新加载页面或离开网站并在一段时间后再次返回,那么视频现在正在播放一开始。
我想从用户离开的地方恢复视频。与YouTube网站一样。
这是YouTube提供的API吗?
答案 0 :(得分:1)
请参阅以下示例并附注释。
<html>
<head>
</head>
<body>
<div id="ytplayer"></div>
<script>
// Load the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// Replace the 'ytplayer' element with an <iframe> and
// YouTube player after the API code downloads.
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('ytplayer', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE', // Youtube video ID
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
}
});
}
function onPlayerStateChange() {
createCookie('ply_time', player.getCurrentTime(), 1); // Stats like buffer, Pause and play store time in Cookes
}
function onPlayerReady() {
player.seekTo(readCookie('ply_time')); // On ready get ccokies and start vide from that.
}
document.unload = function() { // On docucment unload set cookie
createCookie('ply_time', player.getCurrentTime(), 1);
}
window.onbeforeunload = function() { // On Window unload set cookie
createCookie('ply_time', player.getCurrentTime(), 1);
}
/*
* Start:- function to create , read and erase Cookie
*/
function createCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
}
else
var expires = "";
document.cookie = name + "=" + value + expires + "; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
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, c.length);
if (c.indexOf(nameEQ) == 0)
return c.substring(nameEQ.length, c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name, "", -1);
}
/*
* End:- function to create , read and erase Cookie
*/
</script>
</body>