我正在使用javascript制作自定义音频播放器。在这里,我需要知道缓冲的数据量。为此,我使用以下代码:
$("#active-song")[0].addEventListener('loadedmetadata', function() {
$("#active-song")[0].addEventListener('progress', function() {
songs.duration = $("#active-song")[0].duration ;
var buff786 = $("#active-song")[0].buffered.end(0);
var percent-buffered = (buff786/songs.duration) * 100;
$(".song-progress .current-progress").css("width", percent-buffered + "%");
});
});
问题是在发生任何事情之前我在控制台中出错。该错误存在,因为当浏览器解析javascript代码时,歌曲尚未被缓冲。所以var buf786
仍未定义,我收到错误:Uncaught SyntaxError: Unexpected token
。我尝试了许多aliters,例如:
var buff786 = $("#active-song")[0].buffered.end(0);
if (buff786 == undefined) {
buff786 = 1;
}
var percent-buffered = (buff786/songs.duration) * 100;
我仍然得到错误。那么我该如何绕过这个错误呢。我可以在javascript中解析像non-existing-random + 100
这样的表达式吗?