所以我有这个倒计时脚本,几乎每个浏览器都可以正常工作,但不能用于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);
}
}
}
代码有问题吗?
感谢您的帮助。
答案 0 :(得分:0)
只需在opera mini
控制台中检查代码是否存在错误。在opera mini
中打开您的页面并在地址栏中写下:
server:console?post=http://path_to_your_page
此外,Opera Mini
具有javascript计时器限制 - 它会在2-5秒后停止任何计时器(取决于Opera Mini
版本)。我的Android计时器在5秒后停止(fiddle
)。
答案 1 :(得分:0)
计时器在operamini中的工作方式不同,请阅读https://dev.opera.com/articles/opera-mini-content-authoring-guidelines/
从以上链接复制, 使用setTimeout()和setInterval()注册的代码可以在发送页面之前运行,但由于脚本暂停,它不太可能被多次调用