Stefan Bion: JS: beliebige Seite in Frameset laden (was: externer link auf seite in einem frame)

Hallo,

warum funktioniert das nicht?

Die Seite "frameset.htm" wird mit dem Parameter "andere.htm" aufgerufen (also "frameset.htm?andere.htm") und soll dann statt "main.htm" die Seite "andere.htm" in das Frame "main" laden. Machter aber nich. Statt dessen wird aber immer nur "main.htm" geladen. Wenn ich zur Kontrolle im Body den Inhalt von document.write() mittels alert() ausgebe, wird auch brav "andere.htm" angezeigt. Bin ich mit dem document.write() innerhalb der Frameset-Struktur mglw. völlig auf'm Holzweg???

Danke,
Stefan

--------

Hier der Source:

<html>
<head>
  <title></title>

<script language="JavaScript">
  <!--
    var filename="main.htm";
    function extract_filename()
    {
      if(location.search!="")
        filename=location.search.substring(1);
      return(filename);
    }
  // -->
  </script>
</head>

<frameset cols="*,150" border=0 frameborder=0 framespacing=0>

<script language="JavaScript">
  <!--
    document.write('<frame src="' + extract_filename() + '" name="main">');
  // -->
  </script>

<noscript>
    <frame src="main.htm" name="main">
  </noscript>

<frame src="menu.htm" name="menu">

</frameset>

<body>
</body>
</html>

  1. blöde Idee - aber: bei Netscape (www.developer.netscape.com) gibt's das in den JavaScript-Dokus!

    1. blöde Idee - aber: bei Netscape (www.developer.netscape.com) gibt's das in den JavaScript-Dokus!

      Hai Kai, ;-)

      keine blöde Idee - danke für den Tip (ich nehme an, Du meinst die Seite über "Dynamic Framesets", http://developer.netscape.com/docs/examples/javascript/frames/examples.html, oder? Leider funktioniert das Ganze anscheinend nur mit Netscape. Aber ich werde mir den Source mal genauer ansehen...

      Falls noch jemand weitere Tips dazu hat: Bitte melden...

      Gruß,
      Stefan

      1. Leider funktioniert das Ganze anscheinend nur mit Netscape. Aber ich werde mir den Source mal genauer ansehen...

        die parameterübergabe kann der ie überhaupt nicht - oder hab ich mein selfhtml nicht gut gelesen?
        als ich's trotzdem probiert hab, hat's nicht funktioniert
        ich hab dann mit java-script einen funktionswert übergeben, das konnten beide
        ach, kai: was sagt den der ie5 dazu?
        liebe grüße, christian

        1. Seht selbst: http://www.ndh.net/home/bion/test/index.htm?gruen.htm

          Dies ist das Testscript von mir (siehe Anfang des Threads). Wenn der linke Frame in grüner Farbe angezeigt wird, dann hat's geklappt. Wenn blau, dann nicht. Wie kann man den NN dazu überreden, die grüne Seite zu laden? Wer hat eine Idee?

          Gruß,
          Stefan

          1. Für Netscape muß man das *gesamte* Frameset mit write() schreiben. Eine einzelne Frame-Definition reicht nicht. Immer diese Extrawürste für jeden Brauser...

            http://www.ndh.net/home/bion/test/index2.htm?gruen.htm

            So, jetzt fehlt nur noch eine kleine Erweiterung, die das fehlende Frameset *automatisch* nachlädt, wenn jemand die Seite einzeln (über eine Suchmaschine etc.) aufruft. Dürfte ja nicht mehr so schwierig sein...

            Stefan