Supahanz: Fenster per Link öffnen, wenn vorhanden nur fokussieren.

Beitrag lesen

So, ich nochmal. Musste leider ein neues Thema aufmachen, an das alte kam ich nur über's Archiv dran und dort war kein Antworten möglich. Ich verzweifele langsam. Kurz nochmal die Original-Fragestellung:

"Per Link wird ein Fenster geöffnet. Wenn jedoch ein zweites Mal auf den Link geklickt wird, soll sich die Seite nicht nochmal im gleichen Fenster öffnen, sondern nur die bereits geöffnete Seite fokussieren. Mit window.closed hab ich jetzt den ganzen Abend herumexperimentiert, hab's aber nicht hinbekommen."

Verschiedene Vorschläge wurden gepostet:

von Cybaer:

<script type="text/javascript" language="JavaScript"><!--
function openWindow(url,name,pos,win) {
  if(win && !win.closed) {
   win.focus()
  } else {
   win=window.open(url,name,pos);
  }
  return win;
}

// Deklaration
var myWindow;

// Testausgabe
aktuell=new Date();
document.write(aktuell.getHours()+":"+aktuell.getMinutes()+":"+aktuell.getSeconds())+"<br>";
//--></script>

<a href="test3.htm" onClick="myWindow=openWindow(this.href,'testname','width=400,height=300,left=50,top=50',myWindow); »» return false">Open Window</a>

Das Script habe ich aber nicht korrekt zum Laufen gebracht, was aber wohl eher an mir als an dem Script liegt.

Andere Variante von Tom:

<HEAD>
  <TITLE>Window Open</TITLE>

<script type="text/javascript">
  <!--
    f1 = false;

function openWin()
    {
      if ((f1==false) || (f1.closed == true))
      {
        //alert('ich öffne');
        f1 = window.open('http://bitworks.de','test','width=800, >> height=600');
      }
      f1.focus();
      return false;
    }
  //-->
  </script>

</HEAD>

<BODY>
  <a href="http://de.selfhtml.org" onclick="return openWin();">Open »» Window</a>
</BODY>

Dieses Script versteht sich prima mit Firefox/Mozilla, aber der Internet-Explorer kann damit nichts anfangen, er öffnet einfach das zu öffnende Fenster im Hauptfenster.

Überlegt habe ich jetzt schon, ob ich für den Internet-Explorer ein Fenster mit dem "ShowModelessDialog"-Befehl öffnen soll. Das ist ein IE-spezifischer Befehl, der ein Fenster die ganze Zeit im Vordergrund hält, aber trotzdem weiterhin erlaubt, im Hauptfenster Text zu markieren etc. Ich habe versucht, das mit einer appName if/else-Abfrage zu verwirklichen. Das geht aber nicht gut, der IE öffnet dann 2x das selbe Fenster und zeigt das auch noch im Hauptfenster.

Ich verzweifele langsam... Ich hoffe, jemand hat noch einen Tipp parat.

In diesem Sinne, ein Gruß vom Hanz.