Butch: Framesets

Kann man mit HTML-Mitteln erreichen, dass man mit der Frameset-Seite bereits Elemente definiert und lädt, die dann auch für einzelne Frames gelten bzw. verfügbar sind (also in diesen nicht eigens definiert und geladen werden müssen)?

Bin kein Profi, habe leider nichts gefunden zu dieser Frage, weil mir die passenden Stichwörter fehlen ...

Ich denke daran, dass man alle css-Style-Definitionen in der Frameset-Seite machen und vor allem auch bereits alle Grafiken und Audio-Datein laden könnte, die dann zB. in den jeweils wechselnden Seiten in einem der Frames nicht geladen werden müssten, wodurch die Ladezeiten verkürzt wären.

Meine Zusatzfrage wäre, ob es diese Möglichkeit auch gäbe in Bezug auf Definitionen / Preload von Dateien nicht in der Frameset-Seite, sondern im obersten Frame (mein Frameset ist aus mehreren untereinander angeordneten Frames aufgebaut, das oberste würde unverändert bleiben).

Besten Dank!

  1. @@Butch:

    nuqneH

    Kann man mit HTML-Mitteln erreichen, dass man mit der Frameset-Seite bereits Elemente definiert und lädt, die dann auch für einzelne Frames gelten bzw. verfügbar sind (also in diesen nicht eigens definiert und geladen werden müssen)?

    Mit HTML nein. In Frames sind jeweis eigenständige Dokumente.

    Ich denke daran, dass man alle css-Style-Definitionen in der Frameset-Seite machen

    Sämtliche Dokumente können dasselbe Stylesheet anwenden.

    und vor allem auch bereits alle Grafiken und Audio-Datein laden könnte, die dann zB. in den jeweils wechselnden Seiten in einem der Frames nicht geladen werden müssten, wodurch die Ladezeiten verkürzt wären.

    Das kannst du mit JavaScript tun.

    Aber wenn es dir um kurze Ladezeiten geht, bist du mit Frames schon auf der dunklen Seite der Macht. Und wenn es um Nutzerfreundlichkeit geht vermutlich auch.

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
  2. Hallo!

    Kann man mit HTML-Mitteln erreichen, dass man mit der Frameset-Seite bereits Elemente definiert und lädt, die dann auch für einzelne Frames gelten bzw. verfügbar sind (also in diesen nicht eigens definiert und geladen werden müssen)?

    Mit HTML alleine nicht, höchstens mit einer komplexen, selbst geschriebenen JavaScript-Logik, die Inhalte in die Dokumente händisch einfügt.

    Es gibt natürlich iframes, mit denen sich vollständige HTML-Dokumente in andere einbetten lassen.

    Ich denke daran, dass man alle css-Style-Definitionen in der Frameset-Seite machen und vor allem auch bereits alle Grafiken und Audio-Datein laden könnte, die dann zB. in den jeweils wechselnden Seiten in einem der Frames nicht geladen werden müssten, wodurch die Ladezeiten verkürzt wären.

    Der Browser kann HTML-Dokumente, Scripte, Stylesheets, Grafiken, Audio-Dateien usw. ohnehin cachen, wenn der Server entsprechende Caching-Header setzt. Dann wird bei wechselnden Seiten kein erneuter HTTP-Request abgesendet. Das ist eine allgemein anwendbare Technik, die auch ohne Frames funktioniert.

    Im Allgemeinen sieht man von der Benutzung von Frames ab und generiert Dokumente serverseitig. Es ist zwar nicht schön, sich wiederholende Teile (z.B. Navigationen) mit jedem Seitenwechsel neu zu übertragen, aber man hat andere Techniken gefunden, um Dokumente zu strukturieren und die Ladezeit zu optimieren. Das reicht von iframes über GZip-komprimierte Übertragung und Caching bis zum Nachladen von Inhalten via JavaScript (XMLHttpRequest).

    Grüße
    Mathias