2

だから私はこのカウントダウンスクリプトを持っています。これはほとんどすべてのブラウザでうまく機能しますが、Opera miniでは機能しません。空白を示しています。これが私のコードです:

timer={
times:[],
init:false,
callback:function() { window.location.reload(); },
new:function(time)
{
    timer.times[timer.times.length]=time;
    document.write("<span id='timer_"+(timer.times.length-1)+"'>"+timer.format(time)+"</span>");
    timer.start();
},
format:function(time)
{
    days=Math.floor(time/(60*60*24));
    hours=Math.floor(time%(60*60*24)/(60*60));
    mins=Math.floor(time%(60*60)/60);
    secs=Math.floor(time%60);
    return (mins<10?"0":"")+mins+":"+(secs<10?"0":"")+secs+"";
},
ticker:function()
{
    for(var i=0; i<timer.times.length; i++)
    {
        if(timer.times[i] == 0) { timer.callback(); break; }
        document.getElementById("timer_"+i).innerHTML=timer.format(timer.times[i]);
        timer.times[i]--;
    }
},
start:function()
{
    if(!timer.init)
    {
        timer.init=true;
        setInterval(timer.ticker, 1000);
    }
}
}

コードに問題はありますか?

ご協力ありがとうございました。

4

2 に答える 2

0

opera miniコンソールでコードにエラーがないか確認してください。ページを開きopera mini、アドレスバーに次のように書き込みます。

server:console?post=http://path_to_your_page

また、Opera Minijavascript タイマーの制限があります - 2 ~ 5 秒後にタイマーを停止します (Opera Miniバージョンによって異なります)。私の Android では、タイマーは 5 秒後に停止します ( fiddle)。

于 2014-05-02T13:17:17.653 に答える
0

Operamini ではタイマーの動作が異なります。https: //dev.opera.com/articles/opera-mini-content-authoring-guidelines/ をお読みください。

上記のリンクからコピーした場合、setTimeout() および setInterval() で登録されたコードは、ページが送信される前に実行される可能性がありますが、スクリプトの一時停止のために複数回呼び出されることはほとんどありません

于 2014-09-29T10:36:12.593 に答える