window.screenLeft und Seitenleiste
Sebastian Becker
- javascript
Hallo,
ich möchte die Position eines PopUps relativ zum öffnenden Fenster festlegen und lese daher beim Internet Explorer die Position mit window.screenLeft aus. Dabei wird aber offenbar nicht das gesamte Fenster als Grundlage genommen, sondern das Fenster ohne die (nicht immer geöffnete) Favoriten-/Verlaufs-Seitenleiste. Wie kann ich die Position des gesamten Fensters bestimmen?
Vielen Dank für alle Hinweise,
Grüße,
Sebastian
Hallo,
ich möchte die Position eines PopUps relativ zum öffnenden Fenster festlegen und lese daher beim Internet Explorer die Position mit window.screenLeft aus. Dabei wird aber offenbar nicht das gesamte Fenster als Grundlage genommen, sondern das Fenster ohne die (nicht immer geöffnete) Favoriten-/Verlaufs-Seitenleiste. Wie kann ich die Position des gesamten Fensters bestimmen?
Der Bezugspunkt fuer window.screenLeft bzw. window.screenTop ist die linke obere Ecke der Anzeigeflaeche (aka Canvas), also auch der (0,0)-Punkt fuer position: absolute; im BODY.
An die exakten Koordinaten der linken oberen IE-Fensterecke kommt man AFAIK nicht ran.
MfG, Thomas
Hallo, Thomas,
An die exakten Koordinaten der linken oberen IE-Fensterecke kommt man AFAIK nicht ran.
Danke für den Hinweis. Das ist ja ärgerlich, wo man doch sonst fast alles auslesen kann ...
Grüße,
Sebastian
Hi Sebastian,
so wie bei den äusseren Dimensionen des Fensters gibt es auch für die Position des Fensters einen Trick um an die Werte zu kommen, allerdings wird den niemand einsetzen, weil er ein "Zucken" des Fensters zur Folge hat:
berechne die Positon des Dokuments:
docLeft=window.screenLeft;docTop=window.screenTop;
verschiebe das Fenster zum Nullpunkt
window.moveTo(0,0);
wenn Du nun wieder die Position des Dokuments berechnest, weisst Du wie weit sich das Fenster verschoben hast, und kannst es wieder an seine ursprüngliche Position zurückschicken:
x = docLeft-window.screenLeft;y = docTop-window.screenTop;
window.moveTo(x,y);
That's it, denn x und y sind die gewünschten Werte.
LG Spiff
Hi Spaceman Spiff,
allerdings wird den [Trick] niemand einsetzen, weil er ein "Zucken" des Fensters zur Folge hat
du nimmst meine Vermutung vorweg. Trotzdem vielen Dank ...
Grüße,
Sebastian