我正在使用SWFObject將YouTube視頻嵌入到我們的網站中。有許多視頻鏈接在一個頁面,每一個環節清除包裝格,然後加載一個新的內嵌進去,與此代碼:如何正確使用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在工作。
感謝。
編輯:我試圖玩的代碼,確保所有名稱都正確,分開成不同的腳本標記和/或.js文件,加載它在開始,在document.ready()內,仍然,onYouTubePlayerReady是沒有t發射。 你覺得呢?
後的SWFObject已嵌入播放器,檢查DOM節點並檢查設置allowscriptaccess =「總是」被設置正確。 – mqsoh
它被正確設置...我得到它的工作,並將添加正確的代碼的答案:) – pilau