Скрыть содержание страницы до определенного времени в видео
Мои сотрудники и я изучали, как настроить страницу, чтобы иметь скрытый контент, который появляется в определенный момент в видео на 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>
Если вы знаете, как запустить видео в определенное время, это было бы очень полезно!!!
1 ответ
Лучший способ - узнать текущее время на YouTube через каждые несколько секунд.
Вы можете использовать setInterval для вызова функции каждые секунды. В этой функции получите текущее время видео YouTube и на основе того, что делают ваши операции. Я думаю, что это надежный способ
Пожалуйста, проверьте этот ответ. Из ответа вы можете понять, как получить текущее время воспроизведения от проигрывателя YouTube. Надеюсь, это поможет вам
РЕДАКТИРОВАТЬ
Я предполагаю, что вы хотите показать скрытый контент после 30 секунд видео. Для этого вы должны запрограммировать текущее время видео YouTube. Чтобы получить текущее время, вы должны использовать API YouTube. Вы можете получить больше информации об API . Вы получите больше информации об 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>