我想知道是否可以保存当前的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:w3schools中保存setTimeout
但是同时打开两个或更多的窗口会使这件事变得一团糟,因为在每个页面中都会添加+1 ./有任何解决办法吗?
发布于 2014-03-08 18:25:10
您可以将时间(以秒为单位)写入URL,以便在特定时间开始
http://www.youtube.com/watch?v=8SbUC-UaAxE#t=170
从一开始就有几秒钟的时间。
如果您正在使用API,那么您可以跟踪视频中的当前距离,然后用这个值重新加载它。
但是,您必须不断地写入JS中的cookie或本地存储,然后在几秒钟内重新读取该值。
https://stackoverflow.com/questions/22273177
复制相似问题