0

Windows 上の Safari 5.1.7は、Quicktime がインストールされていない場合、要素play()pause()などをサポートしません。video

したがって、サポートされているかどうかを検出したいと思います。

jQuery('video').each(function(){
    this.pause();
});

これは以下を返します:TypeError: 'undefined' is not a function (evaluating 'this.pause()')

jQuery('video').each(function(){
    if( <<I need a way to check if pause is in this>> ){
        this.pause();
    }
});

これを適切に行う方法を探しています。どんな助けでも大歓迎です!

4

2 に答える 2

3

いくつかの機能検出はどうですか:

if (this.pause) {
  this.pause();
}

関数であるかどうかをテストすることもできます。

if (this.pause && Object.prototype.toString.call(this.pause) === '[object Function]') {
  this.pause();
}
于 2013-09-05T12:22:53.147 に答える
1
jQuery('video').each( function () {
    if (this.pause) {  //use it as a truthy check
        this.pause();
    }
});
于 2013-09-05T12:22:46.913 に答える