Jquery 使用JavaScript为iPad插入HTML5视频

Jquery 使用JavaScript为iPad插入HTML5视频,jquery,video,ipad,html,Jquery,Video,Ipad,Html,我试图使用jQuery for iPad将视频插入HTML,但我看到的只是一个黑屏。如果我将视频标签直接添加到HTML页面中,一切似乎都很好 这是我的JavaScript中的内容,我使用onClick事件的函数来调用它 var html = ""; html += '<video id="someVideo" width="'+settings.width+'" height="'+settings.height+'" controls="controls">'; html += '

我试图使用jQuery for iPad将视频插入HTML,但我看到的只是一个黑屏。如果我将视频标签直接添加到HTML页面中,一切似乎都很好

这是我的JavaScript中的内容,我使用onClick事件的函数来调用它

var html = "";
html += '<video id="someVideo" width="'+settings.width+'" height="'+settings.height+'" controls="controls">';
html += '<source src="'+url+'"  type="video/mp4" />';
html += '</video>';
$("#videoDiv").html(html); 
如果我在身体内部创建一个视频标签,一切看起来都很好

<video width=708px height=300px controls="controls"><source src="video.mp4" type="video/mp4"></video>
我计划使用JavaScript的原因是,我在同一页面上有几个视频,希望用户选择要查看的视频,而不是页面上的单个视频。。。关于这一点的任何想法也会有所帮助

任何帮助都将不胜感激 谢谢

我计划使用JavaScript的原因 是因为我在同一个网站上几乎没有视频 页面,并希望用户选择一个 视频将被视为与 页面上的单个视频。。。有什么想法吗 这也会有所帮助


将所有视频放在页面上,每个视频都有一个样式显示:无。然后。在点击事件上显示相应的div。

iPad的webkit中有一个bug,它阻止了动态创建的视频元素正确加载

要绕过此问题,请在设置html后设置source属性并调用video elements load方法

var html = "";
html += '<video id="someVideo" width="'+settings.width+'" height="'+settings.height+'" controls="controls">';
html += '<source src="'+url+'"  type="video/mp4" />';
html += '</video>';
$("#videoDiv").html(html);

$('#someVideo').attr('src', url);
$('#someVideo')[0].load();

Re-ampts回答:请注意,只有当您的代码由用户操作(如单击处理程序)触发时,才可以调用视频元素上的加载

对我来说,这不起作用,因为苹果似乎不认为历史处理程序哈希更改是用户触发的处理程序


有关更多详细信息

这会阻止所有视频的预缓存吗?非常感谢!稍微短一点,更通用一点,我最后做了这样的事情:$'video'。每个函数{var el=$this[0];$this.replaceWithel.outerHTML;el.load;};-似乎达到了同样的效果,这对我也很有效。顺便说一句,我的视频也没有在ie9上显示。使用ampt的解决方案,视频现在可以在两种浏览器中播放。有人知道这是什么时候修复的吗?在ios7中,这个问题不再明显了,我正在使用jquerymobile动态加载页面