2013-09-05 44 views
0

當未安裝Quicktime時,Windows上的Safari 5.1.7不支持play(),pause()video元素。檢查<video>(Windows上的Safari 5.1.7 - HTML5視頻)中是否存在pause()

因此,我想檢測它是否被支持。

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(); 
    } 
}); 

我正在尋找一種方式來正確地做到這一點。任何幫助將非常感激!

回答

3

怎麼樣特徵檢測:

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

你甚至可以測試是否是一個函數:

if (this.pause && Object.prototype.toString.call(this.pause) === '[object Function]') { 
    this.pause(); 
} 
1
jQuery('video').each(function() { 
    if (this.pause) { //use it as a truthy check 
     this.pause(); 
    } 
}); 
+0

謝謝!這麼簡單,我正在考慮'typeof','instanceof','hasProperty','in'和其他許多方法...... – Atadj