为什么使用jQuery动态创建视频元素在IE9中不起作用 [英] Why does creating a video element dynamically using jQuery not work in IE9
问题描述
我试图用jquery重新创建以下内容:
< video width =640height =264autoplay> ;
< source src =http://video-js.zencoder.com/oceans-clip.mp4type =video / mp4/>
< source src =http://video-js.zencoder.com/oceans-clip.webmtype =video / webm/>
< source src =http://video-js.zencoder.com/oceans-clip.ogvtype =video / ogg/>
< / video>
我想出了以下内容,但在IE9中,视频元素是空的,谁能告诉我为什么以及我需要改变以便能够在IE9中动态添加视频?它在Firefox,Chrome和Safari中运行良好。
HTML
< div id =videoHolder>
< / div>
JQuery
var video = $('< video width =640height =264autoplay>< / video>')
.append('< source src =http:// video-js.zencoder.com/oceans-clip.mp4type =video / mp4/>')
.append('< source src =http://video-js.zencoder。 com / oceans-clip.webmtype =video / webm/>')
.append('< source src =http://video-js.zencoder.com/oceans-clip。 ogvtype =video / ogg/>')
.appendTo($(#videoHolder));
已更新 - 关闭上方的视频标签并添加新链接
请尝试以下操作:
$(#videoHolder)。 html(
'< video width =640height =264autoplay>'+
'< source src =http://video-js.zencoder.com/oceans-clip .mp4type =video / mp4>< / source>'+
'< source src =http://video-js.zencoder.com/oceans-clip.webmtype = video / webm>< / source>'+
'< source src =http://video-js.zencoder.com/oceans-clip.ogvtype =video / ogg >< / source>'+
'< / video>');
我所做的工作是:
$ b)使用
html
方法一次注入所需的标记。
视频
和源
)中使用完整结束标记而不是简写 /> gt ;
顺便说一句相当酷的视频。
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>
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
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>');
What I did to get this working was:
- A) use the
html
method to inject the desired mark-up all at once - B) Altered tags (on both
video
andsource
) to use full closing tags as opposed to shorthand/>
A rather cool video, by the way.
这篇关于为什么使用jQuery动态创建视频元素在IE9中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!