在我的网页上,我有视频,它有不同的3个来源。我需要在加载页面时更改视频src。因为我正在使用这个功能,但我无法在ipad中获得更新,但firefox工作正常。
jquery的:
$('#task2ResultVideo source').each(function (n,s) {
$('#task2ResultVideo').get(0).pause();
$(this).attr('src',$(this).attr('src').replace('Task_2.4a_Host_treated', task2RslVideo));
$(this).parents('video').get(0).load();
} )
HTML:
<video id="task2ResultVideo" autobuffer poster="img/task2-results-host-poster.jpg">
<source src="Video/webm/Task_2.4a_Host_treated.webm" type="video/webm" />
<source src="Video/ogv/Task_2.4a_Host_treated.theora.ogv" type="video/ogg" />
<source src="Video/MP4/Task_2.4a_Host_treated.mp4" type="video/mp4" />
</video>
我非常困惑,任何人帮助我?
我试过这个,src更新,但视频没有加载,老视频播放.. Jquery的:
$('#task2ResultVideo source').each(function (n,s) {
$('#task2ResultVideo')[0].pause();
$(this).attr('src',$(this).attr('src').replace('Task_2.4a_Host_treated', task2RslVideo));
setTimeout(function(){
$('#task2ResultVideo').load();
},1000)
alert($(this).attr('src').replace('Task_2.4a_Host_treated', task2RslVideo));
} )
答案 0 :(得分:2)
在Apple Developer网站上取消“顺序更换媒体”: http://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/ControllingMediaWithJavaScript/ControllingMediaWithJavaScript.html#//apple_ref/doc/uid/TP40009523-CH3-SW1
在该文档中,Safari似乎在视频标签上寻找src,而不是在其下面的<source/>
标签中。
作为一个简单的测试,试着看看它是否有效:
// obviously, wrap this in a function... this is simply for testing,
// as you'll want to refine this for use by other browsers as well,
// if this works
var $vid = $("#task2ResultVideo");
var src = "Video/MP4/" + task2RslVideo + ".mp4";
$vid.attr("src", src);
$vid.get(0).load();
$vid.get(0).play();
很想知道你得到了什么结果,因为这似乎是一个相当普遍的问题(我在Google搜索中看到了很多与此相关的问题)。
更新......当然会失败,因为没有设置,呃...我的坏。但实际上,你的替换也很脆弱,因为它会第一次工作(因为它知道'Task_2.4a_Host_treated'存在),但在那之后,它将不再有匹配。你应该从你知道的组件中构建你的src字符串,而不是在这种情况下使用replace。