Как правильно реализовать перемотку песни на javascript?
Я пилю аудио-плеер. Все просто - fastapi+ванильный набор html, css, js.
Когда я сижу в обычном браузере (имею ввиду не в режиме инкогнито, например), то при отключенной функции в devtools "Отключение кеширования" не могу обновлять страничку с внесенными, например, в файл js изменениями. При входе в режим инкогнито или включении функции "Отключение кеширования" в devtools появляется другая проблема - перестает функционировать изменение значения currentTime песни при перемотки.
Кто решить эту проблему?
const music = new Audio();
let isUserInteracted = false;
function check_pause() {
let masterPlay = document.getElementById('masterPlay');
if (music.paused || music.currentTime <= 0) {
music.play()
.then(() => {
masterPlay.removeAttribute('icon');
masterPlay.setAttribute('icon', 'line-md:pause');
masterPlay.style.marginRight = '10px';
masterPlay.style.width = '50px';
})
.catch((error) => {
console.error('Error during playback:', error);
});
} else {
music.pause();
masterPlay.removeAttribute('icon');
masterPlay.setAttribute('icon', 'line-md:play-filled');
}
isUserInteracted = false;
}
seek.addEventListener('change', () => {
music.currentTime = seek.value * music.duration / 100;
});
function playSong(author_name, song_name, song_filename, username, playlist_id) {
let songTagName = document.getElementById('song-name');
songTagName.innerText = song_name;
if (!music.src) {
music.src = `/static/songs/playlists/${username}/${playlist_id}/${song_filename}`;
isUserInteracted = true;
music.addEventListener('canplaythrough', check_pause(), false);
} else {
isUserInteracted = true;
check_pause();
}
}