Seite 1 von 1
Zeit läuft net weiter mit Mozilla
Verfasst: 17. Jun 2008, 16:09
von notarzt
Mahlzeit
Ich hab mich in freewar eingeloggt und bin ein feld gegangen da stand Du kannst in 8 Sekunden weiterreisen. Der timer läuft aber bei mozilla net runter und erst wenn ich die ganze seite aktualisiere kann ich weitergehen. Woran liegt das captach ist auch schon gelöscht worden und mit den anderen browsern gehts.
THX
Re: Zeit läuft net weiter mit Mozilla
Verfasst: 17. Jun 2008, 16:12
von Mheatus
Java nicht aktiviert?
Unter Seamonkey: Bearbeiten -> Einstellungen -> Erweitert -> "Java aktivieren", ebenso unter
Erweitert -> Skripte und Plugins -> JavaScript aktivieren für "Navigator" (da ein Haken vor)
Bei Firefox: Extras -> Einstellungen -> Inhalt -> "Java aktivieren" und "JavaScript aktivieren"
Re: Zeit läuft net weiter mit Mozilla
Verfasst: 17. Jun 2008, 16:15
von notarzt
java und javascript ist aktiviert
ne mir ist jetzt aufgefallen das die zeit schon abläuft aber viel langsamer 1 sekunde rl entspricht jetzt so 3-4 freeewar sekuden
Re: Zeit läuft net weiter mit Mozilla
Verfasst: 17. Jun 2008, 16:21
von Tanefin Coron
Das ist bestimmt der Mozilla 3. Der hat noch ziemlich viele Fehler. Lad dir einfach mal den 2er.
Re: Zeit läuft net weiter mit Mozilla
Verfasst: 17. Jun 2008, 16:22
von notarzt
ne ist der firefox 2. Freewar lief mit den browser mal perfekt aber jetzt
Re: Zeit läuft net weiter mit Mozilla
Verfasst: 17. Jun 2008, 17:01
von swordsfish
cache, cookies, alles weggehaun?
pc schon neugestartet? :>
Re: Zeit läuft net weiter mit Mozilla
Verfasst: 27. Jun 2008, 01:32
von Ext
Das Problem liegt in dem Script für den Counter, anstatt einen Intervall zu setzen der auch wirklich auf jedem PC die Sekunden absolut richtig zählen würde wird stattdessen nach jedem runterzählen ein neuer Timeout gesetzt was bedeutet das auf langsamerern Rechnern zwischen den Sekunden immer ne kleine, nicht kalkulierbare Pause entsteht.
Aktuelles Script:
Code: Alles auswählen
if(wielang<=0)
wielang=1;
var target="test";
function countdown()
{
sekunden=wielang;
text=sekunden;
if (NS)
{
x = document.layers[target];
if(wielang!=0)
text2 = 'Du kannst in ' + (text/60>=1?Math.floor(text/60)+' Minuten und ':'')+(text%60) + ' Sekunden weiterreisen';
else
text2 = '';
x.document.open();
x.document.write(text2);
x.document.close();
}
else if (IE)
{
x = document.all[target];
if(wielang!=1)
text2 = 'Du kannst in ' + ((text-1)/60>=1?Math.floor((text-1)/60)+' Minuten und ':'')+((text-1)%60) + ' Sekunden weiterreisen';
else
text2 = '';
x.innerHTML = text2;
}
else if (gecko)
{
x = document.getElementById(target);
if(wielang!=1)
text2 = 'Du kannst in ' + ((text-1)/60>=1?Math.floor((text-1)/60)+' Minuten und ':'')+((text-1)%60) + ' Sekunden weiterreisen';
else
text2 = '';
x.innerHTML = text2;
}
else
{
x = document.all[target];
if(wielang!=1)
text2 = 'Du kannst in ' + ((text-1)/60>=1?Math.floor((text-1)/60)+' Minuten und ':'')+((text-1)%60) + ' Sekunden weiterreisen';
else
text2 = '';
x.innerHTML = text2;
}
wielang--;
if (wielang!=0)
window.setTimeout("countdown();",1000)
}
Und wie er eigentlich für den Zweck sein sollte:
Code: Alles auswählen
if(wielang<0) wielang=0;
var target="test";
var timer = window.setInterval("countdown()",1000);
function countdown()
{
if (wielang<1){
document.getElementById(target).innerHTML = "";
window.clearInterval(timer);
}else{
document.getElementById(target).innerHTML = 'Du kannst in ' + ((wielang)/60>=1?Math.floor((wielang)/60)+' Minuten und ':'')+((wielang)%60) + ' Sekunden weiterreisen';
wielang--;
}
}
function MoveUp()
{
if(wielang<=1)
{
location.href = 'map.php?walk=up';
}
}
Defakto ist das alles was von dem Code überhaupt nötig ist um in jedem Browser ab IE6 oder höher(Sprich Firefox, Safari, Konqueror etc.). Wesentlich schlanker und sollte auch nebenbei endgültig das Problem mit falsch gehenden Countdowns lösen.