Andy Becker: Problem bei Navigation in mehreren Fenstern

Hallo!

Für mein jetziges Problem muss ich etwas weiter ausholen: Ich schreibe eine Web- Applikation, die aus mehreren
Modulen besteht, die parallel benutzt werden. Aus diesem Grunde habe ich einen Navigationsframe eingebaut, der
für jedes Modul ein neues Navigatorfenster öffnet. Scriptaufruf:

function NeuSchicht()
{
  Schicht =
   window.open('../schichtbuch/index.htm', 'Schichtbuch', 'width=1010, (...) ');
   Schicht.focus();
}

Nun passiert es natürlich, dass bereits alle Module geöffnet sind, jedes mit eigenen Namen.
Nun will der Anwender über die Navigationsleiste ein anderes Fenster wieder in den Vordergrund bringen.
Netscape hat damit auch kein Problem, lädt das Fenster im entsprechenden Window nur nochmal neu (Reload- Effekt)
Der IExplorer ist da nun leider etwas schnippischer und meint, es wäre ein Laufzeitfehler an der focus- Stelle aufgetreten.

Natürlich ist es unsauber, ein schon geöffnetes Fenster nochmal öffnen zu wollen.

Wie aber soll isch dieses Problem lösen, wenn ich nicht nacher jedes Modul zehnmal geöffnet haben will?

Ich hoffe, es gibt jemanden, der mir aus dieser Situation raushelfen kann !?!?

Gruss,
  Andy

  1. Hallo Andy,

    ich hatte ein ähnliches Problem auch schon mal und folgendermaß0en in den Griff gekriegt:
    Beim Klick auf den Navigations-Link wird eine Funktion gestartet, die zuerst überprüft, ob das Fenster schon geöffnet ist. Wenn ja, gibt's nur focus() drauf, wenn nein, wird es geöffnet.

    Sah so aus (mit zwei Popup-Fenstern):

    <SCRIPT LANGUAGE="JavaScript">

    var koepenick;
    var treptow;

    function altstadt()
    {
        if(koepenick && koepenick.closed == false) koepenick.focus();
        else koepenick = window.open("plan.htm","Koepenick","toolbar=no,width=465,height=518,left=5,top=5");
    }

    function park()
    {
       if(treptow && treptow.closed == false) treptow.focus();
       else treptow = window.open("plantre.htm","Treptow","toolbar=no,width=465,height=518,left=5,top=5")
    }

    </SCRIPT>

    Ach ja, das Script geht erst mit NN ab 3 und IE ab 4, wg. focus(), gell.

    Hoffe, es hilft ein bisschen.

    Grüße,

    Utz

  2. Alles klar,
    ich konnte mir selbst helfen durch Formunsbeiträge unter:

    http://www.teamone.de/selfhtml/sfarchiv/2000_1/t10777.htm

    die ich mir entsprechend modifiziert habe. Auch hier hat ein timeout vor dem focus geholfen.

    Und Utz: Tut mir leid, dass ich Deinen Vorschlag jetzt nicht mehr beachtet habe, Du warst zwar schnell, aber dann doch zu langsam! *grins*
    Hatte aber eine ähnliche Idee, wie Deine Lösung auch schon angedacht, die dann aber leider an wohl falscher Ausführung gescheitert ist.

    Gruss,
      Andy :-D