У меня проблема с таймером, проблема только в Chrome, а не в Firefox
Я запускаю таймер, когда я меняю вкладку в chrome, таймер останавливается до тех пор, пока я не переключусь обратно на вкладку, где я запустил таймер
Можно проверить как ...
Откройте файл (код прикреплен ниже) в Chrome, запустите таймер, через 5 секунд откройте новую вкладку и подождите некоторое время .... (скажем, мин)
когда вы переключаетесь обратно на вкладку, где вы запустили таймер .... таймер все еще находится в 5 секундах и продолжается оттуда ....
хром останавливает таймер, когда вкладка не активна, я думаю ....
как это можно исправить?
код
<html>
<head>
<style type="text/css">
body, html { font-family:helvetica,arial,sans-serif; font-size:90%; }
</style>
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojo/dojo.xd.js"
djConfig="parseOnLoad: true">
</script>
<script type="text/javascript">
dojo.require("dijit.form.Button");
dojo.require("dojox.timing._base");
var hours = 0;
var mins = 0;
var secs = 0;
var mili = 1;
var t;
</script>
<script type="text/javascript">
function showTimer() {
t = new dojox.timing.Timer();
t.setInterval(10);
t.onTick = function() {
if(mili == 100) {
mili = 0;
secs ++;
}
if(secs == 60) {
secs = 0;
mins ++;
}
if(mins == 60) {
mins = 0;
hours ++;
}
dojo.byId("my").innerHTML = "Time : " + hours + ":" + mins + ":" +secs + ":" + mili++;
}
t.start();
}
</script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dijit/themes/claro/claro.css"
/>
</head>
<body class=" claro ">
<p>
Timer testing
</p>
<button id="buttonTwo" dojoType="dijit.form.Button" type="button">
Start Timer
<script type="dojo/method" event="onClick" args="evt">
showTimer ();
</script>
</button>
<button id="buttonThree" dojoType="dijit.form.Button" type="button">
Stop Timer
<script type="dojo/method" event="onClick" args="evt">
t.stop();
</script>
</button>
<div id="my"> </div>
</body>