Сообщение от Lefseq
|
При заходе на страницу example.html начинает играть мелодия, но если страницу обновить мелодия начинает играть с самого начала, возможно ли сделать, чтобы после обновления страницы мелодия начинала звучать с прерванного места?
|
Да, надо запомнить время, и при загрузке восстановить его! Этот способ требует добавления
уникального id ко всем аудио...
<audio id="my-audio" src="audio.mp3" controls autoplay></audio>
<script>
addEventListener("beforeunload", function(event) {
localStorage.audioLastTimes = JSON.stringify(Array.from(document.querySelectorAll("audio[id]"))
.reduce(function(data, audio) {
data[audio.id] = audio.currentTime % audio.duration;
return data;
}, {}));
});
if("audioLastTimes" in localStorage) {
Object.entries(JSON.parse(localStorage.audioLastTimes)).forEach(function(pair) {
var audio = document.getElementById(pair[0]);
if(!audio) return;
audio.currentTime = pair[1];
});
}
</script>