Javascript在Firefox中不起作用:未定义的变量

Javascript not working in firefox: undefined variables?

本文关键字:未定义 变量 不起作用 Firefox Javascript      更新时间:2023-09-26
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中可以。

我用火虫检查过,它说变量秒、分钟、秒、tsecs、t分钟、t秒和时间没有定义。

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

谢谢

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

不要做出这样的假设。使用document.getElementById(并确保您具有触发标准模式的文档类型)。

试试这个

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 已经在那里。