Скрыть содержание страницы до определенного времени в видео - PullRequest
0 голосов
/ 05 октября 2011

Мои сотрудники и я изучали, как настроить страницу для скрытого контента, который появляется в определенный момент в видео на 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&amp;rel=0&amp;autoplay=1&amp;showinfo=0&amp;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 Ответ

0 голосов
/ 05 октября 2011

Лучший способ - получить текущее время видео 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>
...