我为HTML5视频开发了一个API。该插件的特色是观众可以改变正在播放的视频。 (通过JQuery更改不同的源URL)。
我几乎完成了任务。但它不在ie9中工作。让我在这里分享源文件。
$hdVideo.attr('src', videoAttr.src[i]);
gPlay();
createSeek();
createBuffer();
playerstage=0;
第一行将新的源文件注入视频元素。除了ie9外,它在所有主流浏览器中都能很好地运行。我甚至无法检查ie9中运行的html编码(当我们通过js进行一些更改时,它不会反映在inspect元素中)。
答案 0 :(得分:0)
我自己得到了解决方案,最后!!!!!
问题: IE9索引第一个标记,即使我们通过jQuery将src =“”注入标记
解决方案: 播放器启动时,将第一个“source”元素的“src”值注入标记。
if(firstTime)
{
$hdVideo.attr('src', videoAttr.src[0]);
firstTime=0;
}
然后编写函数将相应的“源url”注入标记的src =“”属性...
var hdswipe = function(){
var currVid, currExt, currVidName, currQuality, i;
if($hdVideo.attr('paused')==false)
playerstage=1;
currVid = $hdVideo[0].currentSrc;
currExt = currVid.substr(currVid.lastIndexOf('.') + 1);
for(i=0; i<videoAttr.quality.length; i++) //Get current video quality
if(currVid == videoAttr.src[i])
currQuality=videoAttr.quality[i];
for(i=0; i<videoAttr.quality.length; i++) //Swipe the Video
{
if((currExt==videoAttr.src[i].substr(videoAttr.src[i].lastIndexOf('.') + 1))&&(currQuality!= videoAttr.quality[i]))
{
$hdVideo.attr('src', videoAttr.src[i]);
gPlay();
createSeek();
createBuffer();
playerstage=0;
break;
}
}
if(currQuality == "sd")
$("a.hd-hd-swipe-button").addClass("hd-hd-swipe-button-hd");
else
$("a.hd-hd-swipe-button").removeClass("hd-hd-swipe-button-hd");
return false;
}