YouTube player api - addEventListener () у меня не работает? - PullRequest
2 голосов
/ 18 апреля 2010

Я использую API YouTube Player. Я следую за документом здесь:

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

Если при добавлении прослушивателя событий в проигрыватель возникла проблема, кажется, он просто застрял там. Сразу после этого я помещаю предупреждение, которое никогда не вызывается:

ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
alert("I never get called...");

есть идеи, почему это произойдет? Запуск его через FF Chrome Safari, то же самое происходит на всех. Другие функции плеера все работают нормально. Я использую версию swfobject. Я запускаю это в прямом эфире с сервера тоже. Я не понимаю.

Спасибо

Ответы [ 4 ]

1 голос
/ 20 января 2013

Поместите ваш обратный вызов в глобальное пространство имен, например, window.onytplayerStateChange = function.

Хотя это довольно дрянной, это один из немногих способов, которым я смог успешно заставить работать обратный вызов. Мне сказали, потому что addEventListener - это пользовательская функция, переопределяющая собственный код, который выполняет поиск по строке в глобальном пространстве имен.

1 голос
/ 01 июня 2010

взгляните на исходный код этой страницы, возможно, он поможет вам двигаться в правильном направлении. Число под видео - это состояние видео, которое вы поймали и обновили так, как вы пытаетесь реализовать

http://goo.gl/b93ns

0 голосов
/ 15 июля 2010

Я думаю, что это ошибка. Вот решение, которое сработало для меня:

В URL проигрывателя вы должны включить '&' после?. Итак, пример таков:

VIDEO_ID? Enablejsapi = 1 & playerapiid = ytplayer

Но используйте это вместо:

VIDEO_ID? & Enablejsapi = 1 & playerapiid = ytplayer

(обратите внимание на & перед «включить»)

Не имеет особого смысла, но теперь работает:)

0 голосов
/ 22 мая 2010

Попробуйте использовать Firebug http://getfirebug.com/ для FireFox, это должно помочь вам найти любые ошибки JavaScript. У меня тоже проблемы со слушателями событий youtube, но моя работа в Firefox.

...