Norbert: Variablen im window.open Kommando verwenden

Hallo!

Möchte im Befehl window.open("datei.html","name","attr") Variablen verwenden! Genauer gesagt, berechne ich anhand der Bildschirmbreite und -höhe sowie der Fensterbreite und -höhe die x und y-Abstände so, dass das Fenster genau in der Mitte geöffnet werden soll. Diese Werte werden Variablen zugewiesen, und sollen anschließend bei den window.open-attributen screenX und screenY verwendet werden!

Hier der Code-Ausschnitt:

function openHomepage() {
   screenOffsetTop = parseInt((screen.width - 900) / 2);
   screenOffsetLeft = parseInt((screen.height - 637) / 2);

if (screen.width > 1000) {
      var newWindow = window.open("window.html","mainpage","width=900,height=637,screenX=screenOffsetLeft,screenY=screenOffsetTop");
      if (window.closed == false) {
         window.opener = top;window.self.close();
      }
      newWindow.focus();
   } else {
      alert("Auflösung zu klein");
   }
}

Kann mir bitte jemand helfen!
Danke im vorraus.

  1. hi,

    Möchte im Befehl window.open("datei.html","name","attr") Variablen verwenden! Genauer gesagt, berechne ich anhand der Bildschirmbreite und -höhe sowie der Fensterbreite und -höhe die x und y-Abstände so, dass das Fenster genau in der Mitte geöffnet werden soll.

    relativ unsinnig.

    da mein browser tabbed browsing unterstützt, gibt es kein neues "fenster", sondern nur ein neues tab (wenn überhaupt).

    und das mittig in bezug auf den bildschirm positionieren zu wollen, ist unfug - den zu diesem muss meine browserinstanz absolut keinen bezug haben.

    Diese Werte werden Variablen zugewiesen, und sollen anschließend bei den window.open-attributen screenX und screenY verwendet werden!
    [...] Kann mir bitte jemand helfen!

    wo ist dein ansatz zur problemlösung?

    oder willst du das fertig eingebaut bekommen?
    nope, sorry.

    beschäftige dich mit javascript-grundlagen.
    in diesem falle sollte http://de.selfhtml.org/javascript/sprache/variablen.htm mit seinem beispiel schon ausreichend sein.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hallo Norbert,

    Den Code fuer dein Vorhaben kannst du dir auf meiner Webseite generieren.
    Ob Du allerdings Besucher vergraulen willst, die eine 'zu kleine' Aufloesung fahren, musst du selbst entscheiden. Zudem solltest Du dir bewusst machen, dass die Aussagekraft von Aufloesungen sehr begrenzt ist. Beispielweise koennte jemand zwei Monitore haben oder das Browserfenster nicht maximiert haben, dann wird's eng.

    Gruß,

    Dieter

    1. Hallo Norbert,

      Den Code fuer dein Vorhaben kannst du dir auf meiner Webseite generieren.
      Ob Du allerdings Besucher vergraulen willst, die eine 'zu kleine' Aufloesung fahren, musst du selbst entscheiden. Zudem solltest Du dir bewusst machen, dass die Aussagekraft von Aufloesungen sehr begrenzt ist. Beispielweise koennte jemand zwei Monitore haben oder das Browserfenster nicht maximiert haben, dann wird's eng.

      Gruß,

      Dieter

      Hallo Dieter!

      Danke für deine rasche Antwort!
      Auf die Besucher, die weniger als 1000px Bildschirmbreite haben kann ich verzichten, da dies heutzutage nicht mehr wirklich oft vorkommt; außerdem wird bei mir sowieso ein Fenster mit einer Breite von 900px geöffnet, die können dann nicht mehr alles sehen.

      Mit den Monitoren: Ich habe selbst zwei Monitore, und habe diese Fälle getestet, man kommt dann nicht unter die Mindestpixelbreite und es wird halt dann am linken Bilschirm zentriert angezeigt.

      Wegen dem nicht-maximierten Browserfenster: Dies ist bei meiner Abfrage egal, da die Bilschirmauflösung abgefragt wird, und nicht die Browserfensterbreite.

      Habe alle möglichen Testfälle durchprobiert, hab' nur das Problem dass Opera die x- und y-Koordinaten vom internen 0-Punkt aus rechnet.
      Ansonsten IE, Firefox alles wie gewünscht anzeigen.

      Also nochmal herzlichen Dank!

      lg norbert

      1. Hi,

        Auf die Besucher, die weniger als 1000px Bildschirmbreite haben kann ich verzichten, da dies heutzutage nicht mehr wirklich oft vorkommt; außerdem wird bei mir sowieso ein Fenster mit einer Breite von 900px geöffnet, die können dann nicht mehr alles sehen.

        http://www.w3schools.com/browsers/browsers_stats.asp  29% mit 800*600.
        http://www.thecounter.com/stats/2005/February/res.php 28% mit 800*600

        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.