0

問題: 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」関数が呼び出されるまでビデオを再生するため、バッファリング関数は正常に機能します。

私の問題を解決してください。

4

1 に答える 1

1

この構文を試してみるべきだと思います:

$hdVideo[0].buffered.end(0);
于 2012-10-10T10:36:07.867 に答える