我想知道是否可以保存当前的 Youtube 视频位置,当页面刷新时,视频会从最后一个位置开始,而不是从头开始重启。
使用cookie保存最后一个位置或使用GET。实际上是我的网站 由于我的页面在后台调用,因此网站不会经常刷新 将Ajax替换为div,但如果用户刷新页面,则 音乐将从一开始就开始,但我宁愿让它继续在刷新前的位置。
PHP将在param start =
之后将cookie打印到这样的url中<embed src="http://www.youtube.com/v/sIR3KAfhqZQ?version=3&autoplay=1&start=<?php print($_COOKIE['YTTIME']); ?>
然后在javascript中我设置了一个持续保存整数(秒)cookie的超时。
var YTT = parseInt(getCookie("YTTIME")); // Current Video Time
var YTTL = 802; // Total video length in seconds
function SaveYTTIMEtoCookie() {
setTimeout(function(){
if (YTT < YTVL) YTT++; // If current time is smaller than the maximum length
else YTT = 0; // Or restart to 0
setCookie("YTTIME", YTT, 1); // SetCookie is a custom function
SaveYTTIMEtoCookie(); // Loop the SetTimeout every 1 second.
},1000);
}
如何在JS中保存cookie:w3schools 如何在JS中设置Timeout:w3schools
但是同时打开2个或更多窗户会搞砸了 通过在每个页面的cookie中添加+1 ...:/任何解决方案?
答案 0 :(得分:2)
您可以将时间以秒为单位写入URL,以便在特定时间开始
http://www.youtube.com/watch?v=8SbUC-UaAxE#t=170
t是从一开始就以秒为单位的时间。
如果您使用的是API,那么您可以跟踪它们在视频中的当前距离,然后使用此值重新加载它。
但是你必须不断地在JS中写入cookie或localstorage,然后在几秒钟内重读该值。