Мой код для встраивания видео на Youtube:
<object height="356" width="425" type="application/x-shockwave-flash" id="myytplayer" data="http://www.youtube.com/v/MTf6qXn5Prw?enablejsapi=1&playerapiid=ytplayer&version=3"><param name="allowScriptAccess" value="always"></object>
Я хочу отслеживать события проигрывателя Youtube (воспроизведение / пауза / остановка и т. Д.)
Следующий фрагмент кода работает независимо
window.onYouTubePlayerReady = function(playerId){
ytplayer = document.getElementById("myytplayer");
ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
window.onytplayerStateChange = function (newState) {
alert("Player's new state: " + newState);
}
Я использую YUI.
Когда я добавляю то же самое в
YUI.add('module-name', function(Y) {
[some other code...]
window.onYouTubePlayerReady = function(playerId){
// console.log(playerId); console.log(ytplayer);
ytplayer = document.getElementById("myytplayer");
ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
window.onytplayerStateChange = function (newState) {
alert("Player's new state: " + newState);
}
},'3.4.0', {requires:'module-a', 'module-b'})
Функция onytplayerStateChange работает в Firefox и Safari, но не в других браузерах.
Затем я попробовал функции YUI, чтобы это работало во всех браузерах, поэтому я внес некоторые изменения
window.onYouTubePlayerReady = function(playerId){
var shinyPlayer = Y.one("#myytplayer");
shinyPlayer.on('onStateChange', function (e) {
e.preventDefault();
alert('here');
});
}
, но у меня это не сработало.
Я не хочуПоместите window.onytplayerStateChange вне YUI.add ('имя-модуля', функция (Y) {})
Пожалуйста, предложите, что я должен сделать, чтобы отслеживать состояния проигрывателя Youtube во всех браузерах.
Заранее спасибо.