HTML5中標籤的duration屬性在IE中爲NAN的原因

根據JavaScript高級程序設計中P489頁的程序,我寫了以下程序

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<div class="mediaplayer">
<div class="video">
<video  id="player" poster="E:\1.jpg" width="300" height="200"  src="太陽E15.mp4"> 
Video player is not available.
</video>
</div>
<div class="controls">
<input type="button" value="Play" id="video-btn">
<span id="curtime">0</span>/<span id="duration">0</span>
</div>
</div>
<script type="text/javascript">
window.οnlοad=function(){
var oPlayer=document.getElementById('player');
var oBtn=document.getElementById("video-btn");
var oCurtime=document.getElementById('curtime');
var oDuration=document.getElementById('duration');
oDuration.innerHTML=oPlayer.duration;
oBtn.οnclick=function(){
if(oPlayer.paused){
oPlayer.play();
oBtn.value="Pause";
}else{
oPlayer.pause();
oBtn.value="Play";
}
};
setInterval(function(){
oCurtime.innerHTML=oPlayer.currentTime;
},250);
};
</script>
</body>
</html>

由於IE8及其之前的版本不支持video標籤,所以不顯示。

但是在IE9,10,11支持的情況下,爲什麼會顯示


並且,使用alert(oPlayer.duration);頁面是能夠彈出該視頻的時間的。

但是爲什麼oDuration.innerHTML=oPlayer.duration;這句話會顯示NaN?

對此,我又嘗試了一下代碼

var duration1=oPlayer.duration;
alert(duration1);//NaN
alert(oPlayer.duration);//3625.982

由上面的結果,可以看出將oPlayer.duration的值賦給一個變量後這個變量的值是NaN。但是爲什麼?根據定義oPlayer.duration屬性返回的是一個數值,爲什麼數值賦給一個變量會變成NaN?現在還不懂。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章