Я использую SWFObject для встраивания видео YouTube на наш сайт. Есть много ссылок на видео в одной странице, и каждое звено очищает оболочку DIV, а затем загружает новое встраивание в него, с этим кодом:Как правильно использовать SWFObject
$('a.video-link').each(function() {
$(this).on('click', function(e) {
e.preventDefault();
if ($('#video-wrap').has('object').length == 0) {
var params = { allowScriptAccess: 'always', allowFullScreen: 'true' };
var atts = { id: 'ytapiplayer' };
swfobject.embedSWF($(this).attr('href'), 'ytapiplayer', '1000', '562', '8', null, null, params, atts);
$('#video-wrap').show();
} else {
$('#video-wrap').find('object').remove();
$(this).trigger('click');
}
});
});
Они являются Youtube ссылки, которые я использую для каждого врезать:
http://www.youtube.com/v/{Youtube ID}?hl=en_US&rel=0&hd=1&border=0&version=3&fs=1&autoplay=1&autohide=1&enablejsapi=1&playerapiid=ytapiplayer
Тогда вот onYouTubePlayerReady() обработчик событий:
function onYouTubePlayerReady(id) {
console.log('youtube player is ready.');
var ytplayer = document.getElementById('ytapiplayer');
ytplayer.addEventListener('onStateChange', 'onYouTubePlayerStateChange');
ytplayer.addEventListener('onError', 'onYouTubePlayerError');
}
Все видео загрузки хорошо, однако onYouTubePlayerReady никогда не попал!
я попытался решения от here и here, но ничего не получалось :(
Пожалуйста, помогите мне решить эту проблему. Конечная цель состоит в том, чтобы получить Youtube API для работы.
Спасибо.
EDIT: Я попытался воспроизвести код, убедитесь, что все имена верны, разделены на разные теги сценария и/или .js-файл, загрузите его в начале, внутри document.ready(), по-прежнему, onYouTubePlayerReady is no стрельба. Что вы думаете?
После SWFObject имеет встроенный проигрыватель, проверьте узел DOM и проверить, что AllowScriptAccess = «всегда» в настоящее время установлен правильно. – mqsoh
Правильно было установлено ... Я получил его работу и добавлю ответ с правильным кодом :) – pilau