Autor: michi
Frame automatisch nachladen
Frame Webseiten haben den Nachteil, das Suchmaschinen jede HTML Seite als eigenständige Webseite betrachten und sie in ihrem Cache so auch aufnehmen. Benutzer gelangen so über die Suchsuchmaschine direkt in die einzelnen Frame Seiten, die Homepage wird somit nicht in seiner Gesamtheit dargestellt. Es gibt nun zwei Möglichkeiten den Frame automatisch nachzuladen.
Möglichkeit A
- In der HTML, in der frameset steht, folgende Zeile im <head> eingefügen.Code
<script language="JavaScript" src="framecheck.js" type="text/javascript" type="text/javascript"></script>
framecheck.js ist eine Variable, die Bezeichnung framecheck ist beliebig wählbar, .js ist die Dateierweiterung des Javascriptes und muss angegeben werden. Die Bezeichnung richtet sich nach der Benennung der JS Datei unter Nummer 4. - In der selben HTML wird in frameset eingefügt.
Muster
Das LoadFrame wird in jeden frameset Tag eingetragen. - In jede HTML die automatisch nachgeladen werden soll, diesen Javascript in den <head> einfügen.Code
<script language="JavaScript" src="framecheck.js" type="text/javascript"></script> <script language="JavaScript" type="text/javascript"><!-- FrameCheck(); //--></script>
Den Script genauso übernehmen, mit allen Zeilenumbrüchen, allerdings ist framecheck.js wieder eine Variable, wie oben beschrieben. - Eine neue JS Datei erstellen, Beispiel framecheck.js. Die Datei in das Server Verzeichnis kopieren, in dem sich die frame Seiten befinden.
InhaltCode
Alles anzeigen//------------------------------------------------------------------------------ // // FRAME-CHECK // Version: 1.0 - Datum: 05.04.2000 // Copyright (c) 2000 by Dominik Leonhardt. Alle Rechte vorbehalten. // // EINSTELLUNG // // framename : Hier müssen Sie den Namen des Frames eintragen, in den die // Seiten geladen werden soll. // framename="inhalt"; // // frameset : Hier müssen Sie den Dateinamen des Frameset eintragen. Am // besten relativ zum server (/index.htm), damit FRAME-CHECK // auch aus Unterverzeichnissen läuft. // frameset="../beispiel.html"; // //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // FrameCheck(); // Diese Funktion überprüft, ob die Datei im Frame geladen wurde. //------------------------------------------------------------------------------ function FrameCheck() { if(!eval("parent."+framename)) { location.replace(frameset+"?"+location.href); } } //------------------------------------------------------------------------------ // LoadFrame(); // Diese Funktion läd die richtige Datei in den Frame. //------------------------------------------------------------------------------ function LoadFrame() { var URL=location.search; if(URL) { frame=eval("frames."+framename); frame.location.replace(URL.substring(1,URL.length)); } }
framename ist die Hauptseite/Startseite, dort ist der Inhalt zu finden.
Bei frameset den richtigen Pfad zur Datei eintragen, in dem frameset steht, ggf. mit Unterverzeichnis.Da für jede Frameseite eine eigene JS Datei benötigt wird, kann für jede eine eigene JS Datei angelegt werden, sie müssen nur entsprechend anders benannt werden.
Ein Beispiel mit der JS Datei:
http://www.dleo.de/res/files/javascript/framecheck.zipQuellenangabe (das Einbaumuster ist fehlerhaft)
Frame-Check [dleo.de]
Möglichkeit B)
Eine etwas einfachere Möglichkeit gibt es auch, die hat allerdings den Nachteil, das immer die Hauptseite nachgeladen wird und der Benutzer sich mühsam wieder die gewünschte Information suchen muss.
Javascript in den <head> der html kopieren, in der sich der Inhalt befindet.
<script language="JavaScript" type="text/javascript">
<!--
if (parent.frames.length == 0)
{top.location='../beispiel.html'}
// -->
</script>
Bei location den richtigen Pfad zur HTML Datei eintragen, in der sich die frameset Tags befinden.