84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
我在頁面中有一個html5的標籤,但是我如何知道它的持續時間?
2020解決方案:
當音訊元資料尚未載入時,您將獲得undefined或NaN(不是數字)。因此,有些人建議先使用onloadedmetadata確保音訊檔案的元資料被取得。此外,大多數人沒有提到的是,您必須使用[0]來定位音訊DOM元素的第一個索引,像這樣:
undefined
NaN
onloadedmetadata
[0]
-- 原生JavaScript:
var audio = document.getElementById('audio-1'); audio.onloadedmetadata = function() { alert(audio.duration); };
如果這不起作用,請嘗試以下方法,但這種方法不太可靠,而且依賴使用者的連線:
setTimeout(function () { var audio = document.getElementById('audio-1'); console.log("audio", audio.duration); }, 100);
-- JQuery:
$(document).ready(function() { var audio = $("#audio-1")[0]; $("#audio-1").on("loadedmetadata", function() { alert(audio.duration); }); });
2020解決方案:
當音訊元資料尚未載入時,您將獲得
undefined
或NaN
(不是數字)。因此,有些人建議先使用onloadedmetadata
確保音訊檔案的元資料被取得。此外,大多數人沒有提到的是,您必須使用[0]
來定位音訊DOM元素的第一個索引,像這樣:-- 原生JavaScript:
如果這不起作用,請嘗試以下方法,但這種方法不太可靠,而且依賴使用者的連線:
-- JQuery: