Andre Steffens: mehrere Frames gleichzeitig ändern (CGI)

Hi,

ich würde gerne per CGI (richtig verstanden, nicht per JAVA) mehrere Frames gleichzeitig ändern. Kennt jemand eine Funktion dafür ???

Gruß Andre

  1. Hi,

    ich würde gerne per CGI (richtig verstanden, nicht per JAVA) mehrere Frames gleichzeitig ändern. Kennt jemand eine Funktion dafür ???

    CGI kann nur auf Serverebene arbeiten, wie die Seiten beim Client aussehen ist ihm "egal". Wenn Du mehrere Frames ändern willst, mußt Du dies bereits per HTML im Browser machen, also z.B. den Browser mit "target=_parent" anweisen, ein Frameset zu brechen. Das CGI-Script kann dann natürlich ein Frameset zurückliefern, welches etwa so aussieht:

    <frameset cols/rows=a,b>
       <frame src=script.pl?frame=1>
       <frame src=script.pl?frame=2>
    </frameset>

    Damit kann das selbe Script (oder ein anderes, das ist egal) über den Parameter frame den Code für den entsprechenden Frame zurückliefern. Andere Parameter kannst Du wie gewohnt weiterverwenden.

    Was *nicht* geht ist, im Script plötzlich festzustellen "oh, da muß ich ja noch etwas im anderen Frame ändern" und dies dann auch zu tun. Wenn dies aber die Situation ist, in der Du Dich befindest, gib in den HTML-Code ein JavaScript aus, welches "parent.FrameName.location.href=script.pl" ausführt (am besten direkt, also ohne Funktion oder onLoad). Mehr Möglichkeiten sehe ich im Moment nicht.

    Cheatah

    1. Hallo,

      eine weitere, nicht elegante, aber gangbare Möglichkeit ist folgendes:

      2 Frames, 1. Trame = Menue, 2. Frame = Hauptfenster
      User klickt im Menü und Ergebnis wird im Hauptfenster angezeigt.
      Nun muß das Menü auch noch angepaßt werden und zwar variabal.
      Dazu wird mit dem Code für das Haptfenster ein Aufruf zum Ändern des Menüs mitgegeben.

      Ablauf ist dann eben: Anwender klickt auf Menü, CGI liefert Hauptfenster mit sofortigem Aufruf einer weiteren Methode, CGI liefert Code für geändertes Menü.

      Ich hoffe, das ist verständlich.

      Nachteil: hoher Trafic, Wartezeit auf Menü und unordentliche History.

      Gruß kess