Hej,
Använder följande funktion från Jojoxx.net:
<script type="text/javascript">
/* Detta script finns att hämta på [url]http://www.jojoxx.net[/url] och
får användas fritt så länge som dessa rader står kvar. */
var hours = 0;
var minutes = 3;
var seconds = 0;
var action = 'location.href="http://www.jojoxx.net";';
// Ändra inte på följande rader.
seconds += minutes*60 + hours*3600
function CountDown(){
seconds--;
if (seconds == 0) eval(action);
dhour = parseInt(seconds/3600);
dsec = seconds - dhour*3600;
dmin = parseInt(dsec/60);
dsec = dsec - dmin*60
if(dsec<10) dsec = "0" + dsec;
if(dmin<10) dmin = "0" + dmin;
document.MyTimer.text.value = dhour + ":" + dmin + ":" + dsec;
if(seconds>0){
setTimeout("CountDown()",1000);
}
}
CountDown();
</script>
Använder det till en form av logout funktion, det som händer är att när det är 15 minuter kvar, öppnas ett inloggningsformulär som uppmanar användaren att logga in igen.
Det funkar kanonbra i alla läsare utom IE (såklart).
När en användare åter loggar in, kallar jag på "CountDown();" igen, för att timern ska återgå till ursprungsvärdet.
Men det som händer i exlorer är att den fortsätter att räkna ner från 15 minuter och den räknar mycket snabbare än varje sekund.
Jag misstänker att jag måste "döda" den gamla instansen av timern och sätta om den från ursprungstiden igen, men hur gör jag?