Hi,
da der Thread von http://www.teamone.de/selfaktuell/self_forum/26807.html mittlerweile recht tief gerutscht ist, fange ich einen neuen an, das Problem ist aber immer noch in etwa das gleiche.
Aktueller Stand ist aber, daß ich einfach per SSI ein Script einbinde, welches zunächst den Browser ermittelt und dann den entsprechenden Code zurückliefert - das entspannt die Situation ein wenig, weil ich nicht auf für andere Browser optimierten Code Rücksicht nehmen muß. Das Script gibt derzeit folgendes aus:
Netscape 4:
<div name="ecke" style="position:absolute; left:0px;"><img src="/test/grf/downleft.gif" width="130" height="80" alt=""></div>
und als JavaScript:
document.ecke.top = document.ecke.top - 76;
if (document.ecke.top+76 < window.innerHeight) { document.ecke.top = window.innerHeight - 76; }
MSIE 4, 5:
<div id="ecke" style="position:absolute; z-index:-1; left:0px; background-image:url(/test/grf/downleft.gif); background-attachment:fixed; background-repeat:no-repeat; width:130px; height:80px;"></div>
und als JavaScript:
document.all.ecke.style.top = document.body.offsetHeight - 80;
Zu Netscape 4: Das ganze ist glaube ich so optimiert, wie es eben geht. Die Ecke ist am unteren Dokumentrand und wird ggf. weggescrollt, oder bei kleineren Seiten am unteren Framerand. Für Netscape 5 gebe ich derzeit noch nichts aus, damit beschäftige ich mich später.
Zu MSIE 4, 5: Hier verzichte ich auf den <img>-Tag und verlasse mich auf CSS. Leider ist es mir noch immer nicht gelungen, das <div> (günstig) anders zu platzieren als an den unteren Framerand - von wo es weggescrollt werden kann, und zwar mitten im Dokument. Ich suche eine der drei folgenden Lösungen, und zwar die idealste vorne:
1.) Das <div> bleibt beim Scrollen einfach wo es ist, also position:fixed. Der MSIE scheint(!) dies aber leider nicht zu interpretieren, oder?
2.) Das <div> wird wie bei Netscape ein wenig nach oben verschoben, damit unten nicht zu viel Platz verschenkt wird (document.all.ecke.style.top ist aber offenbar zunächst leer!); nur wenn das Dokument kleiner ist als der Frame wird das <div> nach unten verschoben. Es scrollt ggf. mit, aber eben nicht mitten im Dokument. Dies scheitert daran, daß ich weder die aktuelle (initiale) Position des <div> noch die Gesamtgröße des Dokuments (nicht Frames) herausfinden kann.
3.) Das <div> wird alle x Millisekunden oder (noch besser) onscroll nachpositioniert. Ich habe leider keinen Weg gefunden, die aktuelle Scrollposition herauszufinden; zumindest window.pageYOffset kennt der Browser nicht.
Gibt es für einen der Punkte eine Lösung?
Cheatah