Frank S.: target=_top per perl-header erzwingen

Beitrag lesen

Hi!

Startest Du Dein Script mittels Link oder Submit? Als Link sollte es kein Problem sein:
<a href="/cgi-bin/mycgi.pl" target="_parent">Start CGI</a>.

Ansonsten findet man auf http://cgi.xwolf.com/ unter FAQ 1 zu dem Thema folgendes:

<cite>
Kann ich verschiedene Netscape-Frames addressieren?

Ja. Das Sie CGI benutzen macht keinen Unterschied: Benutzen Sie "target=" genauso wie auch in ein normales HTML-Dokument. Alternativ kann das Skript ein "Window-target" ausgeben. Lesen Sie hierzu auch die Seiten von Netscape; Diese beantworten alle Fragen zu Frames.

Kann ich Ausgaben auf einmal zu verschiedenen Frames schreiben?

Ein einziges CGI Skript kann immer nur in ein einziges Frame schreiben. Wie auch immer, diese Einschränkung kann man umgehen, wenn man mehrere Skripte benutzt. Das erste Skript (Z.B. die URL des Submit-Buttons) schreibt ein Frameset, typischerweise mit dem Ziel "_parent" oder "_top". Der HTML-Code einer oder aller Frames kann dabei durch das CGI-Skript ausgegeben werden. Dies Vorgehen ist allerdings nicht zu empfehlen. Falls Sie wollen, das das Design Ihrer Seite durch den User bestimmt werden kann, sollten Sie besse versuchen, dies auf einer höheren Ebene zu machen.

Beachten Sie:

1.Vergessen Sie nicht, die URLs zu escapen.
2.Diese Technik verursacht auf dem Server die Anfragen von vielen zum Teil gleichzeitigen Requests. Die Folge ist, daß Ihr Speicherverbrauch stark wächst. Insbesonders, wenn Sie mit Perl programmiert haben.

Eine gute Alternative ist es, Javaskript hier zu benutzen. Es gibt hierzu schon einige gute Lösungen auf entsprechenden JAVA-Sites. Bedenken Sie nur, daß Javaskript je nach Browser unterschiedliche Ausgaben machen kann, bzw. auch bei einigen Benutzern ausgeschaltet ist.
</cite>

Gruß Frank