Всем доброго времени суток!Не могу понять, почему при выводе длительности мелодии, Chrome возвращает NaN. Я читал, что duration это делает, когда она не известна.Но как сделать так, чтобы она выводилась во всех браузерах?
<html>
<body>
<script type="text/javascript">
window.onload=function(){
var myaudio = document.getElementById("myaudio");
var duration = document.getElementById("duration");
duration.innerHTML = myaudio.duration;
}
</script>
<div id="duration"></div>
<audio id="myaudio">
<source src="audio.mp3" type="audio/mp3"></source>
</audio>
</body>
</html>
Однако я заметил следующее:
1. Если код заключить в событие oncanplay:
myaudio.oncanplay=function(){duration.innerHTML = myaudio.duration;};
то всё будет наоборот.
2.Так работает во всех браузерах:
myaudio.onloadedmetadata = duration.innerHTML = myaudio.duration; //Это работает в Firefox,но не в Chrome
myaudio.onloadedmetadata = function(){duration.innerHTML = myaudio.duration;};//Наоборот