thomas: Probleme mit window.open

Hallo,

ich habe Probleme mit JavaScript.  Es soll beim Reload ein neues Fenster erzeugt werden. Wenn beim nächsten Reload das neue Fenster noch existiert und offen ist wird kein neues Fenster mehr erzeugt.

Folgender Source funktioniert nicht immer. Beim IE6 funktioniert
er eigentlich auf allen Rechner nur nicht auf meinen. Warum?
Es sind identische Versionen auf Windows2000.

<html>
<script language="JavaScript">
var ppWindow = null;
var ppWinProps='width=390px,height=270px,left='+((screen.width-390)/2)+',top='+((screen.height-295)/2)+',location=0,status=0,menubar=0,resizable=0,scrollbars=0,directories=0';

function makeWindow()
{
  if(ppWindow==null || ppWindow.closed)
  {
    ppWindow = window.open('about:blank','test',ppWinProps);
  }
}

</script>
<body>

<script language="JavaScript">
 makeWindow();
</script>
</body>
</html>

gruss
  thomsa

  1. Sup!

    Eigentlich sollte es nie funktionieren, weil beim Reload

    var ppWindow = null;

    ppWindow wieder auf null gesetzt werden sollte, und dann sollte das Fenster immer geöffnet werden.

    Gruesse,

    Bio

    --
    Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
    1. Eigentlich sollte es nie funktionieren, weil beim Reload

      Funktoniert aber. Auf allen IE5.5, auf opera und auch auf
      IE6. Nur irgendwie nicht auf meinen (auch ein IE6).

      ppWindow wieder auf null gesetzt werden sollte, und dann sollte das Fenster immer geöffnet werden.

      IST ok wenn das Fenster immer neu geöffnet wird, weil wenn man
      ein neues Fenster mit open.window öffnet und der Window Name
      gleich bleibt das bestehende window object verwendet wird.

      gruss
      thomas

  2. <html>
    <script language="JavaScript">

    <script type="text/javascript">

    var ppWindow = null;
    var ppWinProps='width=390px,height=270px,left='+((screen.width-390)/2)+',top='+((screen.height-295)/2)+',location=0,status=0,menubar=0,resizable=0,scrollbars=0,directories=0';

    px hat hier nichts zu suchen. und du screen ist kein sinnvolles Objekt, du positionierst in einem 2-Monitor system, das Popup halb/halb auf beiden Monitoren, sieht scheisse aus.

    function makeWindow()
    {
      if(ppWindow==null || ppWindow.closed)
      {
        ppWindow = window.open('about:blank','test',ppWinProps);
      }

    evtl. noch:
    else ppWindow.focus();

    }

    Da du einen Namen angegeben hast, sollte sich immer nur ein Fenster öffnen. Es kann sein dass der IE unterschiedlich  reagiert ob du dieses Skript per http oder file protokoll aufrufst.

    Struppi.