Как определить, когда видео заканчивается ютуб играть?

Я работаю на сайте, который имеет тонну встроенных видео youtube, клиент хочет показать всплывающее окно всякий раз, когда видео перестает splaying.

Я посмотрел на api youtube и, похоже, есть способ определить, когда заканчивается видео:

http://code.google.com/apis/youtube/js_api_reference.html

но я не могу вставлять видео, как они упоминались на этой странице, так как все видео уже на сайте (тысячи, которые были добавлены вручную путем вставки кода вставки).

есть ли способ определить окончание этих видео без изменения любого из существующих видео (с помощью javascript)?

2 ответов


Это можно сделать через API youtube player:

http://jsfiddle.net/7Gznb/

пример:

    <div id="player"></div>

    <script src="http://www.youtube.com/player_api"></script>

    <script>

        // create youtube player
        var player;
        function onYouTubePlayerAPIReady() {
            player = new YT.Player('player', {
              width: '640',
              height: '390',
              videoId: '0Bmhjf0rKe8',
              events: {
                onReady: onPlayerReady,
                onStateChange: onPlayerStateChange
              }
            });
        }

        // autoplay video
        function onPlayerReady(event) {
            event.target.playVideo();
        }

        // when video ends
        function onPlayerStateChange(event) {        
            if(event.data === 0) {          
                alert('done');
            }
        }

    </script>

то, что вы можете сделать, это включить скрипт на всех страницах, который делает следующее ... 1. найдите youtube-iframe : поиск по ширине и высоте по названию или по поиску www.youtube.com в его источнике. Вы можете сделать это ... - петля через окно.кадры по циклу for-in, а затем отфильтровать по свойствам

  1. inject jscript в iframe текущей страницы добавление onYoutubePlayerReady must-include-функция http://shazwazza.com/post/Injecting-JavaScript-into-other-frames.aspx

  2. добавить прослушиватели событий и т. д..

надеюсь, что это помогает