2013-01-31 11 views
1

我正在創建視頻庫。每當用戶點擊一個縮略圖時,一個「視頻」元素就會動態地附加到頁面上讓用戶觀看視頻(我已經試圖顯示/隱藏視頻,但是Chrome瀏覽器緩慢加載頁面,所以我選擇了動態方法)。問題是,如果用戶關閉視頻(銷燬「視頻」元素)並點擊相同的縮略圖(因此,重新創建「視頻」元素),Chrome會產生一個新的網絡請求來下載視頻,但這個請求因爲服務器每次只允許每個文件和每個IP發送一個請求(如前一次打開視頻導致視頻下載),所以在隊列中處於掛起狀態。這不會發生在Firefox瀏覽器,而不是重新下載視頻,重新使用以前下載...
有沒有一種方法來避免這種情況?
謝謝。Chrome在創建並銷燬<video>標記後重新下載相同視頻

UPDATE

這裏是我使用添加代碼:

$(this).find(".gallery > li").append("<video id=\"articlevideoobj\" class=\"videoProd\" preload=\"none\" controls=\"true\"><source src=\"" + video_src + ".mp4\" type=\"video/mp4\"><source src=\"" + video_src + ".ogg\" type=\"video/ogg\"</video>"); 

,這是我使用的刪除代碼:

if (video_mode) { 
    $('#articlevideoobj').remove(); 
} 
+0

你會給你用來添加「視頻」元素的代碼嗎? – Amol

+0

是的,我更新了 –

+0

這個問題,閱讀[this](http://my.opera.com/core/blog/2010/03/03/everything-you-need-to-know-about-html5-video-and -audio-2)和[this](http://dev.opera.com/articles/view/introduction-html5-video/#codecs) – Amol

回答

1

刪除之前你視頻,請在視頻對象上調用.stop()方法並將src設置爲'':

function stopVideo(elementId) 
{ 
    var video = document.getElementById(elementId); 

    video.pause(); 
    video.src = ''; 
    video.parentNode.removeChild(video); 
} 
+0

我在嘗試這種方法:我會在幾分鐘之內讓你知道。順便說一下,官方

+0

我的意思是暫停,抱歉的錯字 – Pierre

相關問題