2013-04-05 8 views
6

Tôi đang cố gắng phát video ngay khi dom đã tải bằng jQuery. Đây là mã của tôi:Tự động phát video HTML5 trên Dom Load bằng cách sử dụng jQuery

HTML

<video id="video" width="420"> 
    <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4"> 
    <source src="http://www.w3schools.com/html/mov_bbb.ogg" type="video/ogg"> 
    <p>Your browser does not support HTML5 video.</p> 
</video> 

JS (script.js)

$(document).ready(function() { 
    $(#video).play(); 
}); 

Khi bạn Dom tải video không chơi, nơi am Tôi đi sai? Cảm ơn trước.

Trả lời

7

Bộ chọn jQuery $("#video") trả về đối tượng jQuery. Kể từ play() là một chức năng của phần tử DOM, bạn phải có phần tử DOM với:

$("#video").get(0); 

trước khi sử dụng .play) phương pháp (:

$("#video").get(0).play(); 

Chỉnh sửa: Bạn cũng có thể sử dụng HTML5 thẻ được chọn trong trường hợp jQuery rơi trở lại. Lưu ý thẻ autoplay.

<video controls="controls" autoplay="autoplay" loop="loop" 
width="233" height="147" poster="//www.cdn.com//video.png" 
preload="auto" title="Video"> 
    <source src="//www.cdn.com/video.mp4" type="video/mp4"/> 
    <source src="//www.cdn.com/video.ogv" type="video/ogv"/> 
    <source src="//www.cdn.com/video.webm" type="video/webm"/> 
</video> 
+0

tôi đã cố gắng này, nhưng nhận được lỗi: của router Lỗi Cú pháp: Bất ngờ thẻ BẤT HỢP PHÁP –

+0

cập nhật. Bạn cần '" "' quanh bộ chọn của bạn. –

0

Tôi biết không phải là jQuery nhưng trong javascript tiêu chuẩn với html5 bạn có thể sử dụng:

var video = document.getElementById("target_video"); 
video.autoplay = true; 
video.load();