I am trying to recreate the following with Jquery
<video width="640" height="264" autoplay>
<source src="http://video-js.zencoder.com/oceans-clip.mp4" type="video/mp4" />
<source src="http://video-js.zencoder.com/oceans-clip.webm" type="video/webm" />
<source src="http://video-js.zencoder.com/oceans-clip.ogv" type="video/ogg" />
</video>
http://jsfiddle.net/4bkpU/2/
I have come up with the following but in IE9 the video element is empty, can anyone tell me why and what I would need to change to be able to dynamically add videos in IE9? It works fine in Firefox, Chrome and Safari.
HTML
<div id="videoHolder">
</div>
JQuery
var video = $('<video width="640" height="264" autoplay></video>')
.append('<source src="http://video-js.zencoder.com/oceans-clip.mp4" type="video/mp4" />')
.append('<source src="http://video-js.zencoder.com/oceans-clip.webm" type="video/webm" />')
.append('<source src="http://video-js.zencoder.com/oceans-clip.ogv" type="video/ogg" />')
.appendTo($("#videoHolder"));
UPDATED - closed the video tag above and addded new link
http://jsfiddle.net/8Cevq/
Try the following, this works:
$("#videoHolder").html(
'<video width="640" height="264" autoplay>' +
'<source src="http://video-js.zencoder.com/oceans-clip.mp4" type="video/mp4"></source>' +
'<source src="http://video-js.zencoder.com/oceans-clip.webm" type="video/webm"></source>' +
'<source src="http://video-js.zencoder.com/oceans-clip.ogv" type="video/ogg"></source>' +
'</video>');
JSFIDDLE example.
What I did to get this working was:
html
method to inject the desired mark-up all at oncevideo
and source
) to use full closing tags as opposed to shorthand />
A rather cool video, by the way.
IE9 doesn't like it when you add the <video>
element's contents dynamically, so you must add the <video>
element and it's contents all at once.
Note: IE9 doesn't seem to have a problem with the shorthand <source ... />
as long as you don't try to add it afterwards.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With