Immer wieder begegnen mir Homepages, die Frames benutzen, aber nicht im Frame angezeigt werden. Zum großen Überdruss weiss der Besucher dann nicht, wo er ist und kann meist auch nicht auf andere Seite der Homepage navigieren.
Wie kann der Homepagebetreiber das umgehen?
Eine Möglichkeit wäre, dass ein Link zur Seite mit Frame eingebaut wird oder er zwingt seine Seite in sein Frame!
Hier sind einpaar JavaScript-Schnipsel, die die Seite in das Frame zwingt und auch für den Link verwendet werden kann.
Es gibt ein Fenster LEFT zur Navigation auf der linken Seite (die Seite heisst left.htm) und ein Hauptfenster MAIN, welches standardmäßig auf die Startseite index2.htm zeigt. jetzt soll, wenn ich von einer anderen Seite komme, diese in dem Frame bei MAIN angezeigt werden.
Hier sehen Sie den Code der Frameseite frameset.htm:
Auf jeder Seite, die im Frame im Fenster MAIN angezeigt werden soll, wird folgender Code im HEAD-Teil eingebunden:
Der "Trick" ist, dass in der Seite, wenn es nicht im Frame ist und das 2. Frame nicht main ist weitergeleteit wird. Die neue Seite ist die Frameseite mit der URL der Seite als Wert des Parameters seite. Damit weiss das Frame, von wem es gekommen ist.
frames[1].name ist das zweite Frame, das 1. Frame ist im Beispiel left, eventuell muss das angepasst werden. Auch muss frameset.htm nicht gewählt werden, tragen sie stattdessen ihre Frameseite ein
In der Seite für das Frame wird auf die Startseite index2.htm verwiesen, wenn kein Parameter angegeben wurde, dass kann natürlich auch geändert werden.
Mit this.location.search.substring(7,500) wird die Zielseite ermittelt, es ist der Wert ab der 7. Position mit max. 500 Zeichen, da seite= abgeschnitten werden muss. Wenn der Parameter anders genannt wird, muss hier eventuell geändert werden.
Als Erweiterung kann auch versucht werden mehrere Zeile anzugeben, z.B. um die Navigation (Frame left) auch zu ändern. Aber da muss etwas mehr programmiert werden, aber bei den meisten Homepages nicht notwendig.
Es kann ein Link oder besser eine Schaltfläche (Button) eingebaut werden, der beim Ereignis onClick eine Function aufruft, die den zweiten Code enthält. Damit hätte man einen allgemeinen Code, der für alle Seiten gleich ist.
ich wünsche Ihnen viel Erfolg beim Ausprobieren - aber die beste Lösung ist immer noch ganz auf Frames zu verzichten! Auf diesen Seiten veröffentliche ich eine Software, die zum Erstellen von einfachen Homepages verwendet wird und damit auch Frames kinderleicht ausgebaut werden können.
Wenn Sie Fragen oder Probleme haben, können Sie mich über abartl@philaware.de kontaktieren.
© 2005-2009 Andreas Bartl
Briefmarken-Auktion in Berlin bei DIETZEL näheres unter
dietzelberlin.de
Hier geht es zum Online-Voting: Sagen Sie uns, welchen Provider Sie haben:
Provider-Abstimmung