Andrea: FRAMESET mit variablen Werten für ROWS/COLS definieren

Hallo!

Habe folgendes Problem: Meine HP habe ich mit Flash gestaltet. Da ich in Flash jedoch nur ungenügend Möglichkeiten habe, den Rand zu gestalten (der sich durch mir unbekannte Seitenverhältnisse des Browserfensters ergibt) habe ich mir folgendes überlegt.
Ich definiere einen Frameset mit Hilfe von Javascript. Je nach Seitenverhältnissen des Fensters soll es zwei Frames geben (rows oder cols). Der mainframe soll genau so groß sein, daß der Flashfilm optimal hineinpasst. Der Randframe, den ich dann getrennt gestalten kann, soll den Rest in Anspruch nehmen.

Nach einiger Recherche in Archiv und Auslese habe ich meinen Code folgendermaßen zusammengebastelt.

<html>
<head>
<title>Frameset</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<script language="JavaScript1.2"><!--
var fensterhoehe = window.innerHeight
var fensterbreite = window.innerWidth
var fensterseiten = fensterbreite/fensterhoehe;    //Seitenverhaeltnis des Fensters
var filmseiten = 1.446428571   //Seitenverhaeltnis des Films (Breite/Hoehe)
var framehoehe = Math.floor(fensterbreite/filmseiten)
var framebreite = Math.floor(fensterhoehe*filmseiten)
/*So hoch bzw breit ergibt sich der Frame, wenn man Hoehe bzw Breite des Fensters voll ausnutzt*/

if (fensterseiten>filmseiten)
/*Definition des Framesets, wenn die Seitenverhaeltnisse des Fensters so sind, das ich zwei senkrechte Spalten benötige.*/
     document.writeln('<frameset cols="*,framebreite" border="0" frameborder="0" cellspacing="0"
                 cellpadding="0">');
          document.writeln('<frame name="rand" src="frameinhalt/topframe.htm" marginwidth="0"                                   marginheight="0" scrolling="no" noresize>')
          document.writeln('<frame name="flashfilm" src="frameinhalt/mainframe.htm" marginwidth="0"                           marginheight="0" scrolling="no" noresize>');
     document.writeln('</frameset>');
}
else{
     document.writeln('<frameset rows="*,framehoehe" border="0" frameborder="0" cellspacing="0"                               cellpadding="0">');
          document.writeln('<frame name="rand" src="frameinhalt/topframe.htm" marginwidth="0"                                   marginheight="0" scrolling="no" noresize>');
          document.writeln('<frame name="flashfilm" src="frameinhalt/mainframe.htm" marginwidth="0"                           marginheight="0" scrolling="no" noresize>');
     document.writeln('</frameset>');
}
//--></script>

<body bgcolor="#FFFFFF">
</body>
</HTML>

Es hat mich einiges an Grübeleien und alert Fenstern gekostet, bis mir klar geworden ist, daß es wohl keine so gute Idee war, eine JavaScript Variable in den HTML Code einzubauen. (rows="*,framehoehe)
Bin nämlich ein absoluter Anfänger...
Bloß, was nun?
Übrigens den Rand des Film in Flash in der Hintergrundfarbe zu definieren funktioniert nicht! Ich habe verschiedene Hintergrundfarben. Und so ein plumpes einfarbiges Ding passt in meinem Fall einfach nicht...

Schon mal ganz vielen Dank an alle, die sich die Mühe machen zu antworten!!!
Gruß Andrea

  1. Hallo Andrea,

    so ganz hab ich Dein Problem nicht verstanden, aber vielleicht gibt es da auch eine ganz banale Lösung mit HTML!?

    Schau Dir doch mal folgenden Link an:
    http://www.clix-online.de

    Da habe ich für die Flash-Seite auch ein Frameset programmiert, daß sich immer dem Browser-Fenster anpaßt. Schau Dir einfach mal den Quelltext an.

    Ich hoffe, ich konnte Dir helfen.

    Bis dann,
    Martin

    1. Hallo Martin,

      so ganz hab ich Dein Problem nicht verstanden, aber vielleicht gibt es da auch eine ganz banale Lösung

      mit HTML!?

      Da habe ich für die Flash-Seite auch ein Frameset programmiert, daß sich immer dem Browser-Fenster anpaßt. Schau Dir einfach mal den Quelltext an.

      Ich hoffe, ich konnte Dir helfen.

      Nee, leider nicht. Der Witz ist, daß bei Dir der Rand einfach größer wird. Dadurch hat der Film eine fixe
      Größe. Verschenkt ja aber eines der wichtigsten Features bei Flash: Daß der Film skaliert wird, ohne daß
      die Datenmenge steigt. Sprich: ich möchte, daß der Film sich nach wie vor an die Größe des Fensters
      anpasst!
      Also in etwa so: COLS="Film so groß wie möglich,*"

      Liebe Grüße Andrea

  2. Hi
    Wenn du das so schreibst, wie du das gemacht hast, dann wird eben nicht die Variable framehoehe, sondern der String "framehoehe" uebergeben.
    richtig gehts so:
    document.writeln('<frameset rows="*,'+framehoehe+'" border="0" frameborder="0" cellspacing="0" cellpadding="0">');
    Tschau Holger

    1. Hi
      Wenn du das so schreibst, wie du das gemacht hast, dann wird eben nicht die Variable framehoehe, sondern der String "framehoehe" uebergeben.
      richtig gehts so:
      document.writeln('<frameset rows="*,'+framehoehe+'" border="0" frameborder="0" cellspacing="0" cellpadding="0">');
      Tschau Holger

      Das ist der Wahnsinn! Es funktioniert!
      Dass Probleme manchmal so einfach zu lösen sind...

      Vielen Dank!
      Andrea