我正在一個網頁上工作。我正在使用jQuery加載(AJAX)功能動態地將新內容加載到內容div中。在每個這些內容divs都有一個圖像。當您點擊該圖片時,Youtube嵌入式視頻(iframe)應該開始播放。一切工作到目前爲止,但有一件事,這是有點奇怪:jQuery AJAX加載和Youtube API iframe
每當我開始播放Youtube視頻緩衝開始。如果我現在想要加載一個新的內容到內容div中,同時緩衝jQuery加載函數在緩衝完成後被觸發。所以有時候我會在內容改變之前等待10秒(簡單的HTML內容),因爲視頻是緩衝的。如果我不使用iframe嵌入,但對象嵌入一切正常,但我也想支持移動設備(iOS)。所以只是一個簡單的例子來告訴你:
$(".content").load(NEW_CONTENT_URL, function() {
// Some animation to replace the oldcontent with the new one
// If a iframe embeded video is buffering, this function doesnt get fired. Only after the buffering has finised.
});
這是jQuery AJAX加載或Youtube iframe嵌入中的已知錯誤。有什麼我可以做的,或者我必須使用對象(SWF)嵌入代碼,使其工作。如果是,請告訴我,如何使用Youtube API來嵌入對象。我無法讓「playVideo()」在現有對象上工作。每次我收到錯誤: TypeError:'undefined'不是函數(評估'playerArr [「player」]。playVideo()');
但是,這是奇怪的爲好,因爲我使用這個功能的嵌入式主權財富基金
var playerArr = [];
function onYouTubePlayerReady(playerId) {
alert(playerId);
playerArr[playerId] = document.getElementById(playerId);
playerArr[playerId].playVideo();
}
是的,我也用「?enablejsapi = 1」的視頻網址。警報給我一個「玩家」,這是我的對象的ID。 iframe解決方案會更好。
在此先感謝您的幫助。
感謝您的回答。 Iframe API非常簡單,我可以工作。問題只是上面描述的緩衝和AJAX加載問題。但我可以修復它:我只是在使用AJAX加載函數之前刪除了iframe。這樣我停止了緩衝,這解決了我的問題。容易,因爲:) – Daniel 2013-04-23 16:12:13
@demrks:很高興你找到自己的解決方案。我只是意識到我誤解了這個問題,所以現在我的答案從你的評論中得到它的價值:) – 2013-05-01 08:44:24