Webseiten: Frames nachladen |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Meine Site arbeitet mit Frames. Wie schaffe ich es zuverlässig, dass beim Aufruf einer Seite der dazugehörige Frame nachgeladen wird?Ich habe das Problem mit PHP gelöst. JavaScript ist weniger geeignet, da nicht jeder Surfer dieses auch aktiviert hat. Gegen Frames spricht eigentlich gar nichts; abgesehen vom dem zur Zeit aktuellen CSS-Hype. Denn wenige CSS-Seiten sind für verschiedene Ausgabegeräte vorgesehen und die Browser interpretieren CSS 2.x nach eigenem Gutdünken. Wenn der Browser HMTL in einem Frame nicht vernünftig drucken kann, dann hilft die Suche im Internet weiter. Es gibt integrierbare Tools wie FitToPrint, die dies wesentlich besser können. Das Drucken ist nicht das Problem des Designer, sondern das der Browser-Programmierer! Suchmaschinen, die nicht mit Frames zurecht kommen, sollten diesen Namen nicht tragen dürfen. Ich verstehe nicht, warum die Redakteure von Computerzeitschriften diesen Firmen hier immer wieder zu Gefallen schreiben. Okay, diese Seite ist inzwischen auch als CSS-Version im Netz -- weil's "In" ist. Harald Meyer Doch nun zum Thema: So sieht's aus: http://www.meyer-edv.de/edvneu/frames/html/inhalt_yyy.html in neuen Fenster öffnen http://www.meyer-edv.de/edvneu/frames/html/inhalt_zzz.html in neuen Fenster öffnen
Lösungsansatz: Am Anfang jeder HTML-Seite wird ein PHP-Skript mit Include eingebunden. Dieses legt eine HTML-Seite mit den Frame-Geometrien fest und deklariert die Menü-Seite und den Frameinhalt. Danach wird ein weiteres Skript aufgerufen, das das Framegerüst zusammenbaut und die gewünschte Seite in den Inhaltsbereich lädt. Dies darf jedoch nur dann geschehen, wenn das angegebene Menü nicht schon bereits am Bildschirm ist. Die mit einem Framegerüst zu umgebende Seite wird als Variable an das Framegerüst übergeben: Nebenbei soll der Framedeklaration ein Noframe-Abschnitt (extern per normaler HTML-Seite definierbar) mit auf den Weg gegeben werden sowie externe Meta-Tags. Die folgenden Beispiele zeigen die Wirkungsweise anhand der HTML-Dateien inhalt_yyy.html bzw. inhalt_zzz.html, welche zwei verschiedene Frames (in diesem Fall nur unterschiedliche Menüs) benötigen. Für alle benötigten Dateien stehen als Download bereit. In den Dateien findet sich eine --- wie ich hoffe -- ausreichende Kommentierung. Die Dateien wurden in der Vorversion dieser Site eingesetzt. Die Dateistruktur sieht so aus:
|
