2010-11-30 98 views
2

我知道這已被問過,但由於某種原因,該策略似乎並沒有爲我工作。jquery和更改html 5視頻源點擊

這是我的代碼:

$(document).ready(function() { 
     $('#foo').click(function() { 
     var videoFile = 'video/law_cash.mp4'; 
     $('#video_container video source').attr('src', videoFile); 
     }); 
    }); 

點擊功能的工作原理,並在我的螢火檢查視頻/ law_cash.mp4在右側區域顯示出來。它只是不會加載,當我點擊

編輯:這是林實際上是試圖做的事:

$(document).ready(function() { 

    var knicks = 'video/knicks_therapist.m4v'; 
     law = 'video/law_cash.mp4'; 
     fit = 'video/fit_some.mp4'; 
     texas = 'video/texas_familia.mp4'; 
     partner = 'video/drug.m4v'; 
     keyspan = 'video/keyspan_nrg.mov'; 

    $('#law').click(function() { 
     $('#video_container video source').attr('src', law); 
     $('#video_container video source').load(); 
    }); 

    $('#knicks').click(function() { 
     $('#video_container video source').attr('src', knicks); 
     $('#video_container video source').load(); 
    }); 

    $('#fit').click(function() { 
     $('#video_container video source').attr('src', fit); 
     $('#video_container video source').load(); 
    }); 

    $('#texas').click(function() { 
     $('#video_container video source').attr('src', texas); 
     $('#video_container video source').load(); 
    }); 

    $('#partner').click(function() { 
     $('#video_container video source').attr('src', partner); 
     $('#video_container video source').load(); 
    }); 

    $('#keyspan').click(function() { 
     $('#video_container video source').attr('src', keyspan); 
     $('#video_container video source').load(); 
    }); 
}); 

HTML:

<a id="law" href="#">BLAH</a> 

回答

2

Firefox不支持MPEG音頻/視頻格式..不知道爲什麼。

編輯:如果你有一個onerror事件註冊,然後它會火,視頻元素的error對象會告訴你MEDIA_ERR_SRC_NOT_SUPPORTED

+1

雖然我沒有使用Firefox作爲我的主要測試瀏覽器。我只使用firefox來查看是否會收到任何錯誤,只是讓網絡檢查員(safari)沒有收到它。 – Robert 2010-11-30 03:11:27

+1

那麼,你應該檢查視頻元素的`canPlayType('video/mpeg')`返回值 - 如果它是空的或者是「否」,那麼問題出在瀏覽器上,而不是你的代碼。 – 2010-11-30 03:13:02

0

只需使用JavaScript

video.src = 'new/url/video.ogv'; 
video.load(); // Load the new video 
video.play(); // Play it 
+0

由於幾個原因,這不是一個好的答案 - 一個是AVI是一個包裝格式,瀏覽器很大程度上依賴於格式和編解碼器,另一個是它不能解決問題... – 2010-11-30 03:02:25

2

在最初的例子,我相信加載視頻的代碼片段應該是

$('#video_container video').load(); 

('video'標記後沒有'source'標記)