Hendrik: Popup-Ausrichtung

Hallo Forum,

ich möchte ein Popup-Fenster in der rechten unteren Ecke des Bildschirms platzieren, aber auf der Taskleiste aufsitzend.

Die folgende Funktion liefert ein perfektes Resultat im Firefox:

var screen_x=screen.availWidth;
var screen_y=screen.availHeight;

popupwindow=window.open("url","name","status=no,toolbar=no,scrollbars=no,width=550,height=300,resizable=no,top="+(screen_y-300)+",left="+(screen_x-550));

Beim IE hängt das Fenster aber leider 20px hinter der Taskbar und 10px rechts ausserhalb des Bildschirms.

Gibt es denn keine allgemeingültige Funktion für diesen Fall?

  1. ich möchte ein Popup-Fenster in der rechten unteren Ecke des Bildschirms platzieren, aber auf der Taskleiste aufsitzend.

    Bei mir ist die Taskleiste oben.

    Die folgende Funktion liefert ein perfektes Resultat im Firefox:

    var screen_x=screen.availWidth;
    var screen_y=screen.availHeight;

    popupwindow=window.open("url","name","status=no,toolbar=no,scrollbars=no,width=550,height=300,resizable=no,top="+(screen_y-300)+",left="+(screen_x-550));

    Beim IE hängt das Fenster aber leider 20px hinter der Taskbar und 10px rechts ausserhalb des Bildschirms.

    Mit screen.height - screen.availHeight kannst du versuchen die Höhe der Taskleiste zu bestimmen, aber wie gesagt diese kann bei jeden woanders sein wenn sie überhaupt da ist

    Gibt es denn keine allgemeingültige Funktion für diesen Fall?

    Struppi.

    1. Hi,

      Mit screen.height - screen.availHeight kannst du versuchen die Höhe der Taskleiste zu bestimmen, aber wie gesagt diese kann bei jeden woanders sein wenn sie überhaupt da ist

      und wenn es nur eine ist. Windows erlaubt an jeder Kante des Desktop derartige Leisten.
      Ich hab z.B. unten die Taskbar und oben eine mit den ganzen Shortcut-Icons der von mir häufig benutzten Programme.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Hallo Hendrik,

    ich möchte ein Popup-Fenster in der rechten unteren Ecke des Bildschirms platzieren, aber auf der Taskleiste aufsitzend.

    Hmm. Dass Popups allgemein nicht so gern gesehen werden, ist dir aber bekannt?

    Die folgende Funktion liefert ein perfektes Resultat im Firefox:

    var screen_x=screen.availWidth;
    var screen_y=screen.availHeight;

    popupwindow=window.open("url","name","status=no,toolbar=no,scrollbars=no,width=550,height=300,resizable=no,top="+(screen_y-300)+",left="+(screen_x-550));

    Das bezweifle ich. Mein Firefox würde dir (vom Popup als solchem mal abgesehen) z.B. nicht erlauben, die Statuszeile und die Adressleiste auszublenden; sie würden trotzdem erscheinen und das Fenster dadurch größer machen als du es geplant hast.

    Beim IE hängt das Fenster aber leider 20px hinter der Taskbar und 10px rechts ausserhalb des Bildschirms.

    Ja. Das ist so, weil die in window.open() angegebene Breite und Höhe die *Innenmaße* des Fensters bezeichnen. Fensterrahmen, Titelleiste, etc. kommen noch dazu und vergrößern das Gesamtmaß des Fensters. Das Fenster liegt also *zwangsläufig* ein Stück außerhalb des Bildschirms. Nur korrigiert der FF das anscheinend von sich aus, indem er das Fenster so weit zurechtrückt, bis es komplett im sichtbaren Bereich des Bildschirms liegt.

    Übrigens meine ich gehört zu haben, dass das Ausblenden von Adressleiste und Statuszeile auch im IE6 unter XP/SP2 nicht mehr möglich ist oder zumindest vom Anwender deaktivierbar ist.

    So long,

    Martin