Thomas Schumburg: window.open Fenster zentrieren!?

Warum klappt das nicht???

Ich möchte doch einfach nur daß das mit window.open geöffnete Fenster zentriert erscheint!

Ich habe folgendes Script:

<!--
browser = 0;
browsertype = navigator.userAgent;

fensterbreite = document.body.clientWidth;
fensterhoehe = document.body.clientHight;

x=fensterbreite/2-485;
y=fensterhoehe/2-350;

if (browsertype != "")
if (browsertype.indexOf("MSIE 3.",0) > 0) browser = 5;
else if (browsertype.indexOf("Opera",0) > 0) browser = 4;
else if (browsertype.indexOf("MSIE 4.",0) > 0) browser = 6;
else if (browsertype.indexOf("MSIE 5.",0) > 0) browser = 7;
else if (browsertype.indexOf("zilla/2.",0) > 0) browser = 1;
else if (browsertype.indexOf("zilla/3.",0) > 0) browser = 2;
else if (browsertype.indexOf("zilla/4.",0) > 0) browser = 3;

else browser = 0;

if (browser != "")
if (browser == 0) window.location.href = "main/hinweise.htm"
else if (browser == 1) window.location.href = "main/hinweise.htm"
else if (browser == 2) window.location.href = "netscape/frames.htm"
else if (browser == 3) window.location.href = "netscape/frames.htm"
else if (browser == 4) window.location.href = "main/hinweise.htm"
else if (browser == 5) window.location.href = "main/hinweise.htm"
else window.open ('exodus.htm','popup','moveTo(x,y)','scrollbars=auto,width=970,height=700')
// -->

Was mache ich falsch??
Bitte hilfe....

  1. Hallo!

    Was mache ich falsch??

    Keine Ahnung wo der Fehler liegt! :-) Aber schaue mal auf [http://www.broadviewtv.de]. Auf der Startseite wird ein Fenster zentriert. Klaue Dir das Scrtipt ruhig, ist von mir, dann muß ich es hier nicht tippen.

    mfg, André

  2. fensterbreite = document.body.clientWidth;
    fensterhoehe = document.body.clientHight;

    x=(fensterbreite/2)-485;
    y=(fensterhoehe/2)-350;
    Was mache ich falsch??

    Mach mal Klammern um fensterbreite/2.
    Du willst erst die Haelfte des Fensters wissen und nicht die fensterbreite durch -483 teilen ;-)

    andreas

    1. »»

      fensterbreite = document.body.clientWidth;
      fensterhoehe = document.body.clientHight;

      x=(fensterbreite/2)-485;
      y=(fensterhoehe/2)-350;
      Was mache ich falsch??

      Mach mal Klammern um fensterbreite/2.
      Du willst erst die Haelfte des Fensters wissen und nicht die fensterbreite durch -483 teilen ;-)

      andreas

      Hi, hier auch andreas.

      Willst du mir erzählen dass JS nicht mal einfachste Rechengesetze beherrscht?!

      fensterbreite/2-485 ist doch DASSELBE wie (fensterbreite/2)-485 !!

      _Punkt_ _vor_ _Strich_ - hatten wir doch irgendwann mal in der Schule, oder nicht ? ;-)

      andreas II.

  3. hi,

    else window.open ('exodus.htm','popup','moveTo(x,y)','scrollbars=auto,width=970,height=700')

    das ist afaik nicht ganz sauber. Erstens solltest Du wegen spaeterer Referenzierung dem Kind einen Namen geben:

    neufenster=window.open(...)

    Zweitens erwartet window open ("","",""), Du aber schreibst ("","","",""). Vielleicht klappt es, wenn Du ein Hochkommapaar rausnimmst, die Parameter gehoeren alle in einen Bereich.
    Sonst versuch doch mal, Dein Fenster im ersten Schritt zu oeffnen, im zweiten zu positionieren:

    neufenster=window.open(...);
    neufenster.moveTo(x,y);

    Gruesse  Joachim

  4. Hi!!!!
    Danke!!!!
    Danke euch allen! Ich habs!!!
    Juhuu!
    Die Lösung lautet:

    <!--
    browser = 0;
    browsertype = navigator.userAgent;

    x=(screen.availWidth/2)-485;
    y=(screen.availHeight/2)-350;

    fenster=window.open ('exodus.htm','popup','scrollbars=auto,width=970,height=700');

    if (browsertype != "")
    if (browsertype.indexOf("MSIE 3.",0) > 0) browser = 5;
    else if (browsertype.indexOf("Opera",0) > 0) browser = 4;
    else if (browsertype.indexOf("MSIE 4.",0) > 0) browser = 6;
    else if (browsertype.indexOf("MSIE 5.",0) > 0) browser = 7;
    else if (browsertype.indexOf("zilla/2.",0) > 0) browser = 1;
    else if (browsertype.indexOf("zilla/3.",0) > 0) browser = 2;
    else if (browsertype.indexOf("zilla/4.",0) > 0) browser = 3;

    else browser = 0;

    if (browser != "")
    if (browser == 0) window.location.href = "main/hinweise.htm"
    else if (browser == 1) window.location.href = "main/hinweise.htm"
    else if (browser == 2) window.location.href = "netscape/frames.htm"
    else if (browser == 3) window.location.href = "netscape/frames.htm"
    else if (browser == 4) window.location.href = "main/hinweise.htm"
    else if (browser == 5) window.location.href = "main/hinweise.htm"
    else fenster.moveTo(x,y)

    // -->

    Besonderen Dank an Joachim!!! Deine Tips waren die Rettung!