Anton: Frames, mein Grundgerüst

Hallo!

Ich plane für meine Seite eine klassische Dreiteilung, links Frame A, rechts Frame B, und oben, über die ganze Breite, Frame C. Insgesamt soll das Ganze 700x500 Pixel groß sein, rundherum soll alles weiß sein.

In Frame B möchte ich nun Links einbinden, die bewirken, dass das neu geöffnete Fenster D genauso groß ist wie A+B+C miteinander, diese also ersetzt. Durch einen Klick auf einen Link in D soll das A+B+C-Schema wieder hergestellt werden.

Quasi handelt es sich um zwei verschiedene Oberflächen, eine einheitliche (D) und eine dreigeteilte (A+B+C), zwischen denen ich unkompliziert wechseln möchte.

Ich habe dazu bereits einen Versuch gestartet, das hier ist index.htm (D = "Hauptframe"):
-------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset. dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
</head>

<frameset rows="*,500,*"  frameborder="no" border="0" framespacing="0">
<frame src="leer.html" scrolling="No" noresize="noresize">

<frameset cols="*,700,*" frameborder="no" border="0" framespacing="0">
<frame src="leer.html" scrolling="No" noresize="noresize">
<frame src="Hauptframe.htm" name="Hauptframe" scrolling="no" noresize="noresize">

<frame src="leer.html" scrolling="No" noresize="noresize">
</frameset>

<frame src="leer.html" scrolling="No" noresize="noresize">
</frameset>

<noframes><body>
</body>
</noframes>

</html>

---------------------------------------
Hauptframe.htm sieht folgendermaßen aus (A = "links", B = "Fenster", C = "oben"):
---------------------------------------

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

<frameset rows="150,350" frameborder="no" border="0" framespacing="0">
<frame src="oben.html" name="oben" scrolling="No" noresize="noresize">

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

<frame src="links.html" name="links" scrolling="no" noresize="noresize">
<frame src="Fenster.html" name="Fenster" scrolling="no" noresize="noresize">
</frameset>
</frameset>

<noframes><body>
</body>
</noframes>

</html>

-------------------------------------------

Der Besucher findet sich also zuerst in der "Oberfläche" A+B+C.

Wie muss ich nun einen Link schreiben, damit zwischen den beiden "Oberflächen" gewechselt wird (Klick auf Link in Oberfläche D --> es öffnet sich eine Seite in Struktur A+B+C bzw. umgekehrt)?
[...]

Schönen Dank! :D
Gruß, Anton

  1. hi,

    Wie muss ich nun einen Link schreiben, damit zwischen den beiden "Oberflächen" gewechselt wird (Klick auf Link in Oberfläche D --> es öffnet sich eine Seite in Struktur A+B+C bzw. umgekehrt)?

    Du willst also zwischen einem Einzeldokument und einem Frameset beständig hin- und herwechseln.
    http://de.selfhtml.org/html/frames/verweise.htm

    Dass das Konzept ziemlich kurios klingt, und nur in den allerwenigsten Sonderfällen die zahlreichen Nachteile von Frames aufwiegen dürfte, hast du dir ja hoffentlich bereits klar gemacht.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Danke schon einmal.

      Durch einen Verweis komme ich also in die zweite, einheitliche Oberfläche "D" bzw. "Hauptframe". Wie geht es aber in die umgekehrte Richtung? Welchen Bestandteil der dreiteiligen Oberfläche müsste ich benennen? Ich kann mir das nicht wirklich vorstellen...

      Ansonsten: Drei bzw. vier Frames - ist das so viel? Wie könnte man das besser machen?

      1. Ich grüsse den Cosmos,

        Welchen Bestandteil der dreiteiligen Oberfläche müsste ich benennen? Ich kann mir das nicht wirklich vorstellen...

        Benannt sollten alle Frames werden. Dann kannst du per target-Attribut auf alle Frames zufreifen.

        Ansonsten: Drei bzw. vier Frames - ist das so viel?

        Ja, so ungefähr um 3 bis 4 zuviel

        Wie könnte man das besser machen?

        Mehrspaltiges Layout mit CSS. Spart Arbeit, freut die SuMas, Screenreader und Textbrowser.

        Möge das "Self" mit euch sein

        --
        Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
        1. Danke, ich werd mir das mit CSS einmal anschauen.
          ---

          Mit einem Verweis komme ich nun von dem Frameset in das einheitliche Fenster. Dort habe ich einen Verweis mit Ziel "B" (rechtes Frame des Framesets) gemacht. Die entsprechende Datei wird nun nicht im dreiteiligen Frameset, sondern auf ganzer Seitengröße angezeigt. Wie mache ich es richtig?

          Oder: Wie muss der Retour-Verweis aussehen? target= ??

          1. Tach,

            Mit einem Verweis komme ich nun von dem Frameset in das einheitliche Fenster. Dort habe ich einen Verweis mit Ziel "B" (rechtes Frame des Framesets) gemacht. Die entsprechende Datei wird nun nicht im dreiteiligen Frameset, sondern auf ganzer Seitengröße angezeigt. Wie mache ich es richtig?

            du mußt natürlich auf die Datei verweisen, die die Frames definiert, also die mit dem Frameset Doctype. Die einzelnen Seiten sind ja an sich alleinstehende Seiten, die keinerlei direkten Bezug zueinander haben.

            mfg
            Woodfighter

            1. Okay, aber auch mit

              target="Hauptframe.html"

              bekomme ich nicht die Dreiteilung, sondern nochmals die einheitliche Oberfläche. :(

              Nochmals in Kurzform: index.html verweist zunächst auf "Hauptframe.html". "Hauptframe.html" ist dreigeteilt, in "links.html", "oben.html" und "Fenster.html".
              In "Fenster.hmtl" habe ich den Link

              <a href="datei.html" target="Hauptframe">datei</a>

              gesetzt. "datei.html" wird also nun im Hauptframe, das die Dreiteilung ersetzt, angezeigt. Nun möchte ich innerhalb von "datei.html" einen Link setzen, der mich zurück zur vorigen Position, in "Fenster.html" bringt. Dabei soll wieder dieselbe Dreiteilung angezeigt werden.

              Wie also muss das aussehen?

              1. Tach,

                "datei.html" wird also nun im Hauptframe, das die Dreiteilung ersetzt, angezeigt. Nun möchte ich innerhalb von "datei.html" einen Link setzen, der mich zurück zur vorigen Position, in "Fenster.html" bringt. Dabei soll wieder dieselbe Dreiteilung angezeigt werden.

                du brauchst eine Frameset-Datei die den gewünschten Zustand abbildet auf die mußt du dann verweisen allerdings im href nicht im target.

                mfg
                Woodfighter

                1. Wie sieht eine solche Datei aus?

                  So, wie zB index.html? Das ist ganz schön umständlich, oder?

                  1. hi,

                    Wie sieht eine solche Datei aus?

                    So, wie zB index.html?

                    Ja, ein Frameset eben.

                    Das ist ganz schön umständlich, oder?

                    Aha, jetzt hast du es auch erkannt, das Frames mehr Probleme machen, als sie vermeintlich lösen.

                    Der Tipp, Frames zu vergessen, ist in diesem Fall der beste Tipp, den man dir m.E. geben kann.

                    gruß,
                    wahsaga

                    --
                    /voodoo.css:
                    #GeorgeWBush { position:absolute; bottom:-6ft; }
                  2. Tach,

                    So, wie zB index.html? Das ist ganz schön umständlich, oder?

                    voarllem, weil die Benutzerführung auch noch sehr komplex werden wird, es gibt mit HTML schließlich keinen Weg sich zu merken, wie die Frameseite aussah, bevor man auf die Einzelseite wechselte. Also am Besten auf die anderen Hinweise hören und auf Frames verzichten.

                    mfg
                    Woodfighter