問題: jQuery を使用して HTML5 ビデオのソース要素を変更すると、IE9 でエラーがスローされる
これは、ビデオ ソースを変更するための私の jQuery 関数です。
var hdswipe = function(){
var currVid, currExt, currVidName, currQuality, i, tempExt;
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
{
tempExt = videoAttr.src[i].substr(videoAttr.src[i].lastIndexOf('.') + 1);
if((currExt==tempExt)&&(currQuality!= videoAttr.quality[i]))
{
$hdVideo.attr('src', videoAttr.src[i]);
createSeek();
createBuffer();
playerstage=0;
gPlay();
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;
}
この行が実行されると、IE9 でエラー メッセージが表示されます。
$hdVideo.attr('src', videoAttr.src[i]);
エラーメッセージは次のとおりです。
未定義の関数: $hdVideo.attr('buffered').end(0);
しかし、「hdswipe」関数が呼び出されるまでビデオを再生するため、バッファリング関数は正常に機能します。
私の問題を解決してください。