Anzeigebereich bei NS 6, Opera 6 und IE 6 ausfragen
Andrea
- dhtml
Hallo, liebe Leute,
ich hätte da ein W3C-kompatibilitätsproblem. Ich zentriere mit Hilfe von DHTML einen div-Bereich mit der Größe 620 * 425 px auf einer Seite. Nachdem mein Skript für IE4+ und Netscape 4 prima funktioniert, wollte ich das Skript für Netscape 6 anpassen. Ich glaubte gelesen zu haben, dass dieser sich nun absolut W3C-konform verhielte. Leider funtioniert mein Nav6-Zweig aber nicht mit Opera 6 oder IE 6, die sich mittlerweile auch ans W3C hielten. Helft mir also bitte den Nav6-Zweig so anzupassen, dass dieser (natürlich bei entsprechender if-Abfrage) auch im Opera 6 u.a. läuft. Ich möchte nicht für jeden einzelnen Browser demnächst eine Version schreiben.
Gegeben sind ein div-Bereich mit der id="ID" und die jeweiligen Browsererkennungen. Ich denke, es müsste im "self.innerHeight"/"self.innerWidth"-Breich des Nav6-Strang liegen.
if (IE4) {
var vlxScreenWidth = document.body.clientWidth;
var vlxScreenHeight = document.body.clientHeight;
document.all.ID.style.pixelLeft = (vlxScreenWidth-620)/2;
document.all.ID.style.pixelTop = (vlxScreenHeight-425)/2;
};
if (Nav4) {
var vlxScreenWidth = self.innerWidth;
var vlxScreenHeight = self.innerHeight;
document.layers.ID.left = (vlxScreenWidth-620)/2;
document.layers.ID.top = (vlxScreenHeight-425)/2;
};
if (Nav6) {
var vlxScreenWidth = self.innerWidth;
var vlxScreenHeight = self.innerHeight;
document.getElementById("ID").style.left = (vlxScreenWidth-620)/2;
document.getElementById("ID").style.top = (vlxScreenHeight-425)/2;
};
};
Danke, für Eure Mühe
Andrea
Hallo.
Also, wir gehn von drei Browsern aus, Internet Explorer, Netscape (bzw. Mozilla) und Opera jeweils ab der Version 4.
Abfragen des Anzeigebereichs (jeweils Versionen 4 bis 6):
Der IE kennt document.body.clientWidth und document.body.clientHeight.
Netscape und Opera kennen window.innerWidth und window.innerHeight.
Positionieren:
Die Netscape un IE Versionen, die DOM Unterstützung haben, das wären also N6 und IE5-6, können mit document.getElementById("ID").style.left und document.getElementById("ID").style.top positioniert werden.
Opera hingegen kennt in allen drei relevanten Versionen (4er, 5er und 6er) nur document.getElementById("ID").style.pixelTop und document.getElementById("ID").style.pixelLeft.
Gruß
Norbert