Stefan Muenz: Aus Visual C++ 5.0 *.html Seiten in Frames darstellen

Beitrag lesen

Hallo Oliver,

Das Problem: Wie kann ich meiner index.html mitteilen, was sie in welchem Frame anzeigen
soll, praktisch als Parameter?

Indem du das Frameset nicht direkt in HTML notierst, sondern mit Hilfe von JavaScript und document.write-Befehlen - Schema:

<script language="JavaScript">
zeige = location.hash;
document.writeln("<frameset cols="100,*">");
document.writeln("<frame src="navigation.htm">");
document.writeln("<frame src=" + zeige + ".htm">");
document.writeln("</frameset>");
</script>

Und aufrufen tust du die index.html dann aus dem Programm (Beispiel):
index.html#topic123

Die Frameset-Datei baut ja sowieso gleich die Frames auf und hat (hoffentlich <g>) kein Interesse, den uebergebenen Anker #topic123 zu suchen. Stattdessen wird dieser in einer Variablen namens zeige gespeichert. Deren Wert wird zum Aufruf der Datei im Datenframe genutzt. Im Beispiel wird versucht, eine Datei namens topic123.htm ins Fenster des Datenframes zu laden.

Wenn die Hilfe nur mit Netscape angezeigt werden soll, kannst du auch ? statt # in der Uebergabe benutzen und dann mit location.search statt location.hast den Wert auslesen. Ist eigentlich sauberer, aber funktioniert lokal nur mit Netscape, nicht mit MSIE.

Ausprobiert hab ich das jetzt alles nicht, kann also sein, dass Bugs drin sind.

viele Gruesse
  Stefan Muenz