2
var timer = setInterval(function () {
    var secs = ytplayer.getCurrentTime();
    var minutes = Math.floor(secs / 60);
    var seconds = Math.floor(secs % 60);
    var tsecs = ytplayer.getDuration();
    var tminutes = Math.floor(tsecs / 60);
    var tseconds = Math.floor(tsecs % 60);
    var time = minutes + ":" + seconds + " / " + tminutes + ":" + tseconds;
    document.getElementById('currenttime').innerHTML = time;
}, 1000);

此代码在 Firefox 中不起作用,但在 chrome 和 IE 中起作用。

我检查了萤火虫,它说变量secs,minutes,seconds,tsecs,tminutes,tseconds和time没有定义。

我不知道如何解决这个问题,因为我确实使用 var 来定义它们。有谁知道我做错了什么?

谢谢

4

2 回答 2

2

听起来您有一个带有 id 的元素,ytplayer并假设window.ytplayer它将自动创建。

不要做这样的假设。使用document.getElementById(并确保您有一个触发标准模式的 Doctype)。

于 2012-05-16T10:03:42.877 回答
0

试试这个

var timer = setInterval(function(){
    var secs = ytplayer.getCurrentTime(),
    minutes = Math.floor(secs / 60),
    seconds = Math.floor(secs % 60),
    tsecs = ytplayer.getDuration(),
    tminutes = Math.floor(tsecs / 60),
    tseconds = Math.floor(tsecs % 60),
    time = minutes + ":" + seconds + " / " + tminutes + ":" + tseconds;
    document.getElementById('currenttime').innerHTML = time;
},1000); 

并确保 ytplayer 已经存在。

于 2012-05-16T10:05:26.713 回答