使用JavaScript for iPad插入HTML5视频

时间:2010-06-15 15:49:06

标签: jquery video ipad html5

我正在尝试使用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的原因是我在同一页面上的视频很少,并且希望用户选择一个视频来反对页面上的单个视频......任何想法都会有所帮助

任何帮助将不胜感激 感谢

3 个答案:

答案 0 :(得分:19)

iPad的webkit中存在一个错误,可防止动态创建的视频元素正常加载。

要解决此设置源属性并在设置html

后调用视频元素加载方法
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();

答案 1 :(得分:2)

重新放大回答:请注意,只有当您的代码由用户操作(如点击处理程序)触发时,才会调用视频元素上的load()。

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

有关详细信息see apples documentation on javascript and the video element

答案 2 :(得分:0)

  

我计划使用JavaScript的原因   就是我的视频很少   页面,并希望用户选择一个   视频被视为反对a   页面上的单个视频...任何想法   周围也有帮助

将所有视频放在页面上,每个视频都带有“display:none”样式。然后.show()点击事件上的相应div。