derausgroenloh
Goto Top

Kalender auf Webseite zeigt falsches Jahr an

Liebe User,

2 Kolleginnen haben das Problem, dass sie auf dem Terminalserver (Server2008R2) im IE11 auf der Seite amadeus.net ein komplett falsches Datum in der Auswahl haben.
Sobald sie auf das Datum klicken befinden sich die beiden Vorschaukalender nicht im Jahr 2014 sondern im Jahr 114. (Es ist kein Schreibfehler von mir!!!!)

Ich habe schon die Cookies etc. gelöscht, leider ohne Erfolg.
Wenn andere User auf dem Terminalserver diese Seite aufrufen ist alles korrekt.

Habt ihr eine Idee woran es liegen könnte bzw. einen Ansatz wie ich das Problem beheben könnte.
Ich möchte nur ungern das Profil auf dem TS neu erstellen...

Vielen Dank im Voraus

Content-ID: 227402

Url: https://administrator.de/contentid/227402

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

Ausserwoeger
Ausserwoeger 22.01.2014 um 16:20:47 Uhr
Goto Top
Hi

Da der Teil der Seite über Java läuft hast du mal den Java Cache gelöscht ? Welche Java version verwendet ihr ? Ist ein update möglich ?

LG
Fricco
Fricco 22.01.2014 um 20:04:45 Uhr
Goto Top
Hi,

check nochmal die Datumseinstellungen auf dem Server und passe sie ggf. an. Möglicherweise könnte auch etwas mit den JavaScript-Einstellungen nicht stimmen.

LG
mech01
mech01 22.01.2014 aktualisiert um 21:33:20 Uhr
Goto Top
also Erstens: es ist kein Java, sondern JavaScript (ABSOLUT NICHT DAS SELBE!)

offenbar wird der Kalender von yahoo bereit gestellt ... und es arbeitet mit dem date-objekt UND es wird stellenweise noch mit getYear gearbeitet

siehe http://stackoverflow.com/questions/4754938/javascript-date-getyear-retu ...

warum nun ausgerechnet nur bei den beiden das Problem auftritt ist eine gute frage

wenn du im IE F12 drückst erscheint der Debugger, dein Problem wird allerdings sein (vermutlich), dass das script von extern bereit gestellt wird und du keinen einfluss darauf hast ...

getYear() liefert die anzahl der Jahre seit 1900

uic.factory.Calendar.JD2YD=function(date)
{
var yStart=1900;if(c.browser.isIE) { yStart=0; } // wenn IE dann yStart=0
year=(date.getYear()+yStart);return(date.getMonth()+1)+"/"+date.getDate()+"/"+year;
}

tja, 114 + 0 = 114 ;)

IE handelt hier völlig korrekt ;) warum das script allerdings so geschrieben ist, ist fraglich, vermutlich aufgrund eines bugs älterer IE-Versionen? ka ^^
derausgroenloh
derausgroenloh 23.01.2014 um 08:55:28 Uhr
Goto Top
Danke für die Beiträge.
Ein generelles Update von Java wird nichts nützen, da es ja wie gesagt bei anderen Usern auf dem Server funktioniert.
Ich habe heute jedoch noch festgestellt, dass die Kollegin das Problem auch auf ihrem lokalen Rechner hat.
Auf die Idee nach der Systemzeit zu sehen bin ich auch schon gekommen, leider bzw. zum Glück passte diese.
derausgroenloh
derausgroenloh 23.01.2014 um 09:10:46 Uhr
Goto Top
@mech01
Ich habe das Problem plötzlich auch bei mir lokal...
Was meinst du kann ich dagegen machen? Nichts?
Ich habe den Debugger einmal gestartet
<table class="yui-calendar y114" id="quse_date_from_id_calendar_container_table_0" cellspacing="0">
<thead>
<tr>
<th class="calhead" colspan="7">
<div class="calheader">
<a class="calnavleft">&nbsp;</a>
Januar 114
</div>
</th>
</tr>
mech01
mech01 23.01.2014 um 12:00:08 Uhr
Goto Top
huhu,

NOCHMAL: es hat NICHTS mit Java zu tun, sondern mit JavaScript ;)

das mit dem Debugger hatte ich geschrieben, bevor ich selbst den grund gefunden hatte ;)

du kannst nur etwas dagegen tun, wenn du zugriff auf das script hast (http://www.amadeus.net/aria/2.1/js/ariameb-fa9fa78dd41dc566268391222a53 ..)

insgesamt gibt es 3 stellen, einmal zeile 32, 688 und 718 wo steht: if(c.browser.isIE){yStart=0;}

yStart=1990
wenn nun Browser=IE dann yStart=0

so, getYear() gibt die jahre von 1990 bis heute zurück, also 114

normalerweise würde nun berechnet werden yStart+getYear=1990+114 = 2014
wenn nun aber YStart=0 ist, dann sieht das so aus: yStart+getYear=0+114 = 114

daher müsste das if(c.browser.isIE){yStart=0;} raus, oder es müsste zumindest genauer nach der browserversion differenzieren, für den fall, dass ältere internet-Explorer-Versionen tatsächlich einen bug gehabt haben, um diese weiterhin zu unterstützen

wenn du keinen zugriff auf das script hast, dann kannst du dagegen nichts machen, außer bei den Clients dem IE zu sagen, dass er sich nicht als IE "ausweisen" soll, was aber wieder andere Probleme mit sich bringen würde, also nicht empfehlenswert ;)

LG
derausgroenloh
derausgroenloh 23.01.2014 um 12:35:26 Uhr
Goto Top
Ich habe leider keinen Zugriff auf das Script.
Ich werde es mal versuchen mit deinem Plan B.
Wo kann ich im IE sagen, dass er sich nicht als IE ausweisen soll?
mech01
Lösung mech01 23.01.2014 aktualisiert um 13:11:55 Uhr
Goto Top
ähm auch wenn das möglich ist, tu es bitte nicht, das war eigentlich nur so daher gesagt, und auch wenn es dieses eine Problem lösen würde, hättest du danach viel größere Probleme ;)

da ist es einfacher einfach einen anderen browser zu verwenden (auch wenn ich IE mag, aber die Entwickler der Seite sind da offenbar anderer Meinung ;)

am besten ist, die Entwickler der Seite auf diesen bug aufmerksam zu machen, sodass dieser mal gefixt werden kann
derausgroenloh
derausgroenloh 23.01.2014 um 13:11:51 Uhr
Goto Top
OK, dann werde ich mal lokal einen anderen Browser versuchen.
Vielen Dank