Martin Althaus: Function (document.write...) aus Frameset in Frame aufrufen

Beitrag lesen

Gruezi,

trotz intensiven Studiums der Forumsbeiträge u. anderer relevanter URLs konnte ich folgendes Problem bisher nicht lösen:

Ich definiere ein Frameset in der Datei frames.html, die genau einen Frame (content) nachlädt und eine function enthält. In der Datei content.html wird die Funktion aufgerufen.

frames.html
[...]
<script language="JavaScript1.2"><!--
   function menu() {

document.writeln('<table border="1" cellpadding="0" cellspacing="0">');
      document.writeln('<tr>');
      document.writeln('<td>1</td>');
      document.writeln('<td>plus</td>');
      document.writeln('</tr>');
      document.writeln('<tr>');
      document.writeln('<td>2</td>');
      document.writeln('<td>minus</td>');
      document.writeln('</tr>');
      document.writeln('</table>');}

var theMenu = new menu;
   //-->
</script>
</head>
   <frameset rows="100%,*" border="0" frameborder="0" framespacing="0">
      <frame src="content.html" name="content" marginwidth="0" marginheight="0" noresize scrolling="auto">
   </frameset>
[...]

content.html
[...]
<body bgcolor="white">
   <table border="4" cellpadding="0" cellspacing="2" width="100%">
      <tr>
         <td>
            <script language="JavaScript1.2"><!--
               theMenu;
               // -->
            </script>
         </td>
         <td>bla</td>
      </tr>
   </table>
</body>

Leider passiert dieses: Wenn ich frames.html starte, wird content.html zwar geladen, die Funktion erzeugt aber eine Tabelle, die nicht innerhalb der Content-Tabelle, sondern eigenständig auf dem Bildschirm präsentiert, also nicht als nested table. Definiere ich die gleiche Funktion unter content.html und rufe sie von hier auf, funzt alles korrekt.

Thx für die Hilfe...