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 では機能します。

firebug で確認したところ、変数 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 に答える