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-Key: 227402

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

Printed on: April 25, 2024 at 00:04 o'clock

Member: Ausserwoeger
Ausserwoeger Jan 22, 2014 at 15:20:47 (UTC)
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
Member: Fricco
Fricco Jan 22, 2014 at 19:04:45 (UTC)
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
Member: mech01
mech01 Jan 22, 2014 updated at 20:33:20 (UTC)
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 ^^
Member: derausgroenloh
derausgroenloh Jan 23, 2014 at 07:55:28 (UTC)
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.
Member: derausgroenloh
derausgroenloh Jan 23, 2014 at 08:10:46 (UTC)
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>
Member: mech01
mech01 Jan 23, 2014 at 11:00:08 (UTC)
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
Member: derausgroenloh
derausgroenloh Jan 23, 2014 at 11:35:26 (UTC)
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?
Member: mech01
Solution mech01 Jan 23, 2014 updated at 12:11:55 (UTC)
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
Member: derausgroenloh
derausgroenloh Jan 23, 2014 at 12:11:51 (UTC)
Goto Top
OK, dann werde ich mal lokal einen anderen Browser versuchen.
Vielen Dank