2016-11-22 66 views
0

我正在構建一個能夠改變playbackRate的視頻控制器。 但是,某些不支持playbackRate功能的瀏覽器想要顯示該消息。 例如,「在此瀏覽器中不支持」。如何查看源代碼中的瀏覽器支持playbackRate?

有沒有辦法檢查playbackRate函數在JavaScript中是否正常工作?

以下是我嘗試:

try{ 
    player.playbackRate = 0.95; 
    // if check here : console.log(player.playbackRate) = 0.95 in not supported browser. 

    if (player.playbackRate != 0.95) { 
     alert('Not supported in this browser'); 
    } 

    player.playbackRate = 1; 
} 
catch(e) { 
    alert('Not supported in this browser'); 
} 

然而,即使在不支持playbackRate瀏覽器,實際playbackRate值已發生變化,沒有錯誤或消息已輸出。

有什麼辦法可以嗎?

我希望你能幫上忙。

回答

0

如果首先添加該屬性,則無法檢查本地屬性是否存在。

檢查是否支持原生屬性的方式,通常是創建一個清潔的,新元素,並查看其是否具有該屬性如果屬性值的期望是什麼

var audio = document.createElement('audio'); 

if ('playbackRate' in audio && audio.playbackRate === 1) { 

    // is supported 

} 
+0

謝謝adeneo。 這似乎是檢查屬性是否受支持的好方法。 但是,playbackRate屬性的問題在於,在某些瀏覽器中屬性存在併發生更改,但實際的playbackRate根本不會改變。 –