2013-04-05 11 views
6

Próbuję odtworzyć wideo, jak tylko dom załadowany za pomocą jQuery. To jest mój kod:Auto-odtwarzanie wideo HTML5 w Dom Load przy użyciu 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(); 
}); 

Kiedy DOM ładunki film nie jest odtwarzany, gdzie am Źle się dzieje? Z góry dziękuję.

Odpowiedz

7

Selektor jQuery $("#video") zwraca obiekt jQuery. Od play() jest funkcją elementu DOM, trzeba uzyskać elementu DOM z:

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

przed użyciem .play() metoda:

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

Edit: Można również używać HTML5 wybrane tagi w case jQuery fall back. Zwróć uwagę na tag 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

próbowałem tego, ale pojawia się błąd: Uncaught SyntaxError: Nieoczekiwany token NIELEGALNE –

+0

aktualizowana. Potrzebujesz "" "wokół selektora. –

0

wiem, ale nie jest w standardzie jQuery javascript z HTML5 można użyć:

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