我的工作人员和我一直在研究如何设置隐藏内容的页面,该内容出现在Youtube视频的特定位置。
我们首先使用settimeout()函数快速到达那里,但这只是经过的时间,而不是视频中的时间。如果视频暂停,例如,在指定的时间长度后,隐藏的内容仍会显示。
到目前为止,这是我们的代码:
<p>
<script type="text/javascript">// <![CDATA[
function showIt() {
document.getElementById("hid").style.display = "block";
}
setTimeout("showIt()",30000);
// 1000 = 1 sec | 60000 is 1 minute
// ]]></script>
</p>
<p>{youtube}Yhwk5OorNPw&rel=0&autoplay=1&showinfo=0&version=3|640|390{/youtube}</p>
<div id="hid" style="display: none;">
<p style="text-align: center;"><span style="font-size: 32pt; color: #ff6600;"><strong><a target="_blank" href="http://www.youtube.com/watch?v=K80leSIhSD4"><span style="color: #ff6600;">HEY RICK - You can buy a Website Now!</span></a></strong></span></p>
</div>
如果您知道通过视频获取触发特定时间的方法,那将非常有用!!!
答案 0 :(得分:0)
最好的方法是每隔几秒钟获取当前的YouTube视频时间。
您可以使用setInterval每秒调用一次该函数。在该功能中获取当前的YouTube视频时间并根据您的操作进行操作。我认为这是一种可靠的方式
请检查this answer。从答案中您可以了解如何从YouTube播放器获取当前播放时间。希望它能帮到你
修改强>
我想你想在30秒的视频后显示隐藏的内容。为此,您必须为当前时间播放YouTube视频。要获取当前时间,您必须使用youtube API。您可以更多地了解API。您将从here获得有关API的更多信息
一旦你获得当前时间(你会在几秒钟内得到它)如果你使用api你可以使用以下逻辑来显示隐藏的内容
<script type="text/javascript">
var timerForLoadingResult= setInterval(showIt,1000);//call the fnction in every seconds.
function showIt() {
var currentTime=GetCurrentYoutubeTime(); // this function must return a current time in seconds
if(currentTime>=30) // i guess u need to show up after30 th second
{
document.getElementById("hid").style.display = "block";
clearInterval(timerForLoadingResult); //it will clear the timer, so the function will not excecute again
}
}
function GetCurrentYoutubeTime()
{
// fetch youtube video time using api . and return that value
}
</script>