2012-01-15 58 views
14

Có thể tải trước video html không? Lưu ý: thẻ được tạo động sau này.tải trước video html5

Hiện tại tôi có thể thực hiện việc này bằng hình ảnh bằng cách tạo div ẩn và đặt tất cả hình ảnh trong đó. Sau đó, khi tôi tạo ra nhu cầu thì hình ảnh không cần phải tải lại.

Khi việc này được thực hiện bằng thẻ video, trình duyệt vẫn tải video từ đầu khi phần tử được tạo.

Tôi thấy điều này: https://github.com/jussi-kalliokoski/html5Preloader.js, nhưng có vẻ như không hoạt động với video. Có những câu chuyện mới trên trang chủ!

+0

Thuộc tính 'preload =" auto "' thì sao? – dfsq

+0

Bạn có thể muốn xem tại đây: http://stackoverflow.com/questions/476679/preloading-images-with-jquery –

+0

Brett, đây là về video chứ không phải hình ảnh. –

Trả lời

3

Hãy thử điều này:

<!DOCTYPE html> 
<html> 
<body> 

<video width="320" height="240" controls="controls" **preload="auto"**> 
    <source src="movie.mp4" type="video/mp4" /> 
    <source src="movie.ogg" type="video/ogg" /> 
    <source src="movie.webM" type="video/webM" /> 
    Your browser does not support the video tag. 
</video> 

</body> 
</html> 

Lưu ý: việc doesnt này trên IE;), cho bạn điều này có thể sử dụng một số cầu thủ (chỉ đơn giản bao gồm một .js). Họ có một flash đèn flash để sử dụng IE JW Player & JW Player Preload

Njoy !!!

0

Tôi đã có một vấn đề tương tự trong IE, một số video là display: none, và khi tôi cho họ thấy IE không hiển thị khung đầu tiên ...

tôi đã sử dụng đoạn mã sau để giải quyết nó, khi tôi hiển thị các video bị ẩn, tôi gọi preloadAllVisible()

var preloadAllVisible = function() { 
    $("video:visible").each(preload); 
} 
var preload = function(key, vid) { 
    vid.play(); 
    setTimeout("pausevid("+key+")",100); 
} 

var pausevid = function(key) { 
    vid =$("video:visible")[key]; 
    vid.pause(); 
    vid.currentTime = 0; 
} 
Các vấn đề liên quan