Tôi đã thử sử dụng thẻ tự động phát và .load () .play () ít nhất vẫn cần được gọi trong chrome (có thể là cài đặt của tôi).
cách đơn giản nhất để thực hiện việc này với jquery bằng cách sử dụng ví dụ của bạn sẽ là
var $video = $('#divVideo video'),
videoSrc = $('source', $video).attr('src', videoFile);
$video[0].load();
$video[0].play();
Tuy nhiên, cách tôi khuyên bạn nên làm (để dễ đọc và đơn giản) là
var video = $('#divVideo video')[0];
video.src = videoFile;
video.load();
video.play();
Đọc thêm
http://msdn.microsoft.com/en-us/library/ie/hh924823(v=vs.85).aspx#ManagingPlaybackInJavascript
Thông tin bổ sung: .load () chỉ hoạt động nếu có phần tử nguồn html bên trong phần tử video (tức là <source src="demo.mp4" type="video/mp4" />
)
Cách không phải jquery sẽ là:
HTML
<div id="divVideo">
<video id="videoID" controls>
<source src="test1.mp4" type="video/mp4" />
</video>
</div>
JS
var video = document.getElementById('videoID');
video.src = videoFile;
video.load();
video.play();
[0]
. Nhưng hóa ra nó bắt buộc phải thêm[0]
mặc dù bộ chọn của tôi đang chọn chính xác một thẻ video.