问题描述
- js以window.onload方式获取audio.duration的值为NaN,获取不到正确时长?
-
window.onload=function time(){
var duration = document.getElementById("audio").duration;
document.getElementById("ss").innerHTML=duration;
}
通过服务器访问 获取到的值为NaN.
但如果通过页面上的一个按钮点击,以onclick事件,则能获取到准确时长,这是为什么,如何让页面加载后自动获取并显示音频时长?
解决方案
楼主用的火狐?火狐好像有这个问题
八、火狐获取duration出错问题
自己测试的时候有时可能因为网络加载慢的问题,火狐获取duration的时候获取不到,得到NaN,这样显示时间和进度条都会出错。所以我监听了canplay事件,当歌曲准备到可以被播放时,才进行获取duration和buffered等相关数据获取操作,貌似火狐没出现上述问题了。
http://dengo.org/archives/1048
解决方案二:
我使用IE以及chrome浏览器也出现类似问题,不知道问题出在哪。后来我使用jquery的$(document).ready(function(){}也还是解决不了这个问题
时间: 2024-12-03 02:04:36