Hallo webbies 
Een vriend van mij is bezig een online-spel te programmeren (scifi/strategy). Nou heeft hij een klein javascript probleempje dat zich niet voordoet in Netscape/Mozilla of Linuxbased webbrowsers. Alleen Microsoft heeft besloten dat scriptje niet mag werken.
Het gaat om een timerscript dat vanaf het moment dat iemand is ingelogd begint te lopen. Tijdformaat is hh:mm:ss en begint natuurlijk netjes op 00:00:00.
in .js bestand gezetelde functie:
Deze functie wordt hier in de pagina opgeroepen:
(Die vriend van mij is een duitser trouwens ja
)
Nou werkt dit dus altijd prima, geen probleem. Alleen bij IE (6 bij mij) werkt het dus niet, in zoverre, dat er wel netjes 00:00:00 staat. De timer loopt dus niet denk ik OF de tijd wordt niet ververst. Heeft iemand enig idee waarom dit in IE niet werkt?
Een vriend van mij is bezig een online-spel te programmeren (scifi/strategy). Nou heeft hij een klein javascript probleempje dat zich niet voordoet in Netscape/Mozilla of Linuxbased webbrowsers. Alleen Microsoft heeft besloten dat scriptje niet mag werken.
offtopic:
sorry, flame weggehaald, ik vond het verhaal alleen te eng voor woorden brrrr
sorry, flame weggehaald, ik vond het verhaal alleen te eng voor woorden brrrr
Het gaat om een timerscript dat vanaf het moment dat iemand is ingelogd begint te lopen. Tijdformaat is hh:mm:ss en begint natuurlijk netjes op 00:00:00.
in .js bestand gezetelde functie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| function uhr(ids)
{
if (ids.length==0)
{ //nichts zu tun
window.clearInterval(clock_timmer);
return;
}
var NowLocal = new Date();
for (var i = 0 ; i < ids.length ; i++)
{
var time_str = document.getElementById(ids[i]).innerHTML;
//Formatierung entvernen
time_str = time_str.replace(/L:/,'');
time_str = time_str.replace(/O:/,'');
time_str = time_str.replace(/<br>/,':');
time_str = time_str.replace(/ /,'');
time_str = time_str.replace(/ /,'');
time_str = time_str.replace(/[\n\s\r\v\t\r\f]/,"");
//Zeit berechnen
var time_array = time_str.split(":");
time_str="";
if (time_array.length != 6)
{ //Online initialisieren
var Online_time = new Date();
Online_time.setHours (0);
Online_time.setMinutes (0);
Online_time.setSeconds (0);
}
else
{ //Eine Sekunde addieren
var Online_time = new Date();
Online_time.setHours(eval(time_array[3]));
Online_time.setMinutes(eval(time_array[4]));
Online_time.setSeconds(eval(time_array[5])+1);
}
//Zeiten anzeigen
time_str+= "L: ";
time_str+= leading_zero (NowLocal.getHours())+
":"+leading_zero (NowLocal.getMinutes())+
":"+leading_zero (NowLocal.getSeconds());
time_str += ("<br>O: ");
time_str+= leading_zero (Online_time.getHours())+
":"+leading_zero (Online_time.getMinutes())+
":"+leading_zero (Online_time.getSeconds());
document.getElementById(ids[i]).innerHTML = time_str;
}
} |
Deze functie wordt hier in de pagina opgeroepen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| <body bgcolor="#FFFFFF" text="#000000">
<script type="text/javascript" src="./zeit.js"></script>
<div id="Timmer" style="position:absolute; top:56px;
left:60px; text-align:left; font-size:12px;"
title="Die locale Uhrzeit und die Onlinezeit"></div>
<script type="text/javascript" language="JavaScript">
<!--
//Timmer
ids = new Array("Timmer");
var clocktimmer = window.setInterval("uhr(ids)",1000);
-->
</script>
</body> |
(Die vriend van mij is een duitser trouwens ja
Nou werkt dit dus altijd prima, geen probleem. Alleen bij IE (6 bij mij) werkt het dus niet, in zoverre, dat er wel netjes 00:00:00 staat. De timer loopt dus niet denk ik OF de tijd wordt niet ververst. Heeft iemand enig idee waarom dit in IE niet werkt?
[ Voor 30% gewijzigd door Verwijderd op 21-01-2004 14:49 ]