|
|||
IE Crash
Mahlzeit,
zunächst ein freundliches guten Tach, ich bin der Sven, und ihr lest gerade meinen ersten Beitrag in diesem Forum. Ich habe ein Problem mit einem JavaScript, welches leider den IE 6+7 regelmäßig zum Dienst verweigern bringt. Alle anderen Browser laufen wunderbar mit diesem Script. (btw. dieses Script habe ich nicht selbst geschrieben, da ich relativ wenig mit JavaScript am Hut habe). Zunächst einmal ein Link zur betroffenen Webseite: RFACTORY - Home Ihr findet dort einen Countdown der zu einem bestimmten Datum runterzählt. Das Datum bekommt er via einer php-Ausgabe überliefert. Code:
<script type="text/javascript"> TargetDate = "<?php echo date_format(date_create($this->date), "m/d/Y"); ?> <?php echo date_format(date_create($this->time), "h:i A"); ?>"; BackColor = "transparent"; ForeColor = "#ff4e00"; CountActive = true; CountStepper = -1; LeadingZero = true; DisplayFormat = "%%D%%:%%H%%:%%M%%:%%S%%"; FinishMessage = "running now"; </script> Code:
<script type="text/javascript" src="plugins/countdown.js"></script> Code:
/* Author: Robert Hashemian http://www.hashemian.com/ */ function calcage(secs, num1, num2) { s = ((Math.floor(secs/num1))%num2).toString(); if (LeadingZero && s.length < 2) s = "0" + s; return "<b>" + s + "</b>"; } function CountBack(secs) { if (secs < 0) { document.getElementById("timer").innerHTML = FinishMessage; return; } DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000)); DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24)); DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60)); DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60)); document.getElementById("timer").innerHTML = DisplayStr; if (CountActive) setTimeout("CountBack(" + (secs+CountStepper) + ")", SetTimeOutPeriod); } function putspan(backcolor, forecolor) { document.write("<span id='timer' style='background-color:" + backcolor + "; color:" + forecolor + "'></span>"); } if (typeof(BackColor)=="undefined") BackColor = "white"; if (typeof(ForeColor)=="undefined") ForeColor= "black"; if (typeof(TargetDate)=="undefined") TargetDate = "12/31/2020 5:00 AM"; if (typeof(DisplayFormat)=="undefined") DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds."; if (typeof(CountActive)=="undefined") CountActive = true; if (typeof(FinishMessage)=="undefined") FinishMessage = ""; if (typeof(CountStepper)!="number") CountStepper = -1; if (typeof(LeadingZero)=="undefined") LeadingZero = true; CountStepper = Math.ceil(CountStepper); if (CountStepper == 0) CountActive = false; var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990; putspan(BackColor, ForeColor); var dthen = new Date(TargetDate); var dnow = new Date(); if(CountStepper>0) ddiff = new Date(dnow-dthen); else ddiff = new Date(dthen-dnow); gsecs = Math.floor(ddiff.valueOf()/1000); CountBack(gsecs); Neben diesem Schnipsel benötigt die Page für zum Beispiel die Slimbox auch mootools. Nehme ich die mootools aus dem <head> funktioniert das Script einwandfrei und zwingt niemanden aufzugeben. In Verbindung mit Mootools kommt es wie oben geschrieben regelmäßig zur Verweigerung. (Die Seite kann nicht geöffnet werden, Vorgang abgebrochen). Hätte jemand eine Idee, oder einen Lösungsvorschlag wie ich beides "harmonisch" zusammen bringe? |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
jQuery ajax suche selbst gemacht! Browser crash? | sepp88 | Javascript & Ajax | 1 | 22.03.2011 12:21 |
link funktioniert nicht im IE | ThomThom | (X)HTML | 11 | 06.05.2005 22:50 |