Anzahl prüfen
    


WWW.WEB-TOOLBOX.NET

ZURÜCK SITEMAP  

  Anzahl der Frames prüfen

Ein kleines JavaScript stellt die Anzahl der Frames in einem Frameset fest. Die ermittlte Anzahl wird in einer Vergleichsoperation dazu verwendet, ihre Bedingungen zu überprüfen. Bei Nichterfüllung wird die von ihnen festgelegte URL im Browserfenster aufgerufen.

Seiten immer im Frameset anzeigen

Suchmaschinen finden auch Unterseiten Ihrer Homepage und lassen natürlich auch deren Aufruf zu. Ihre Seite besteht aus mehreren HTML-Dokumenten in Frames. Sie möchten nicht, dass ein Teil ihrer Präsenz ohne die Navigation z.B. angezeigt wird?

Der Browser erstellt beim Aufruf einer Seite auch eine (interne) Liste aller Frames. Wenn es sich um eine einzelne HTML-Seite handelt, ist die Anzahl der Einträge in dieser Liste der vorhandenen Frames 0 (Null), weil sie keine Einträge enthält. Das kann man zur Prüfung nutzen: Ist die Liste der Einträge = 0, dann ist auch kein Frameset vorhanden.


Ein JavaScript kann die Anzahl der Frames feststellen (mit top.frames.length) und das Ergebnis mit ihrer Vorgabe vergleichen.

Beim Aufruf der Seite erfolgt eine Prüfung auf die Anzahl der vorhandenen Frames. Erfüllt das Ergebnis die gestellten Bedingungen nicht, wird die Startseite aufgerufen.

Die URL der Startseite wird im Script eingetragen.

Anschauliches Beispiel:
Anzahl der vorhandenen Frames dieser Webseite feststellen. Meldung anzeigen


  Funktionsschema

Die im Script gestellten Bedingungen müssen efüllt sein. Falls das nicht zutrifft, wird die angegebene URL aufgerufen. Sie können die Bedingungen selbst festlegen. 3 Möglichkeiten sthen zur Auswahl. Beim Aufruf der Datei soll

a) eine bestimmte Anzahl von Frames vorhanden sein
b) eine Mindestanzahl von Frames vorhanden sein
c) eine Höchstanzahl von Frames vorhanden sein

In der Regel werden sie das Vorhandensein einer festimmten Anzahl von Frames überprüfen. Schließlich wissen sie ja, aus wie vielen Frames ihr Frameset besteht.



   Anzahl der Frames ermitteln

Als Beispiel nehme ich hier die HP-Vorlage Frames F02. Der Frameset hat insgesamt 4 Frames. (Das Beispiel können sie herunter laden) Menü Downloads


Eine Abfrage mit 'top.frames.length' würde das Ergebis '4' ermitteln!



  Scriptbeispiele

Wenn sie das Script in den HEAD-Bereich ihrer HTML-Datei einkopieren, wird beim Aufruf der Datei die Prüfung durchgeführt. Das Script kann natürlich auch in einer externen JavaScript-Datei stehen.

a) Gültiger Status bei Vorhandensein von exakt 3 Frames.

Sie werden normalerweise einen bestimmten Wert für die Anzahl der Frames als gültigen Status festlegen. Wenn die Anzahl der Frames nicht mit der Vorgabe (hier im Beispiel 3) übereinstimmt, dann soll die Startseite / die Framesetdatei aufgerufen werden.



<script type="text/javascript" language="JavaScript">
<!--

if (top.frames.length != 3) {

// als absoluter Link
top.location.href="http://www.IhreDomain.de/";

// oder als relativer Link
// top.location.href="index.htm";

}
//-->
</script>

Wenn das Prüfungsergebnis von 'top.frames.length' nicht 3 ist ...
Wenn die Anzahl der Frames nicht (!=) [ungleich] 3 ist ...



b) Gültiger Status bei Vorhandensein von mehr als 3 Frames.

Die mit 'top.frames.length' ermittelte Anzahl soll einen Wert ergeben, der größer als 3 ist.



<script type="text/javascript" language="JavaScript">
<!--

if (top.frames.length > 3) {

// als absoluter Link
top.location.href="http://www.IhreDomain.de/";

// oder als relativer Link
// top.location.href="index.htm";

}

//-->
</script>
Wenn das Prüfungsergebnis von 'frames.length' größer (>) 3 ist ...
Wenn es mindestens 4 Frames gibt ...





   Unterschied relativer Link / absoluter Link auf die Frameset-Datei

a) relativer Link auf die Frameset-Datei

Der Eintrag 'index.htm' im Beispiel oben verweist auf die Frameset-Datei, die im gleichen Ordner abgelegt ist. Wird das Script in eine HTML-Datei eingebunden, welche in einem Unterverzeichnis liegt, muss der Pfad entsprechend eingetragen werden. Beispiel:



top.location.href="../index.htm";


Das ist sehr fehlerträchtig! Müssen sie doch jedesmal auf den exakten Eintrag achten.


b) absoluter Link auf die Frameset-Datei

Sicherer, und auch für die zentrale Einbindung des Scripts innerhalb einer exterenen JavaScript-Datei ist der Eintrag einer absoluten Adresse der Frameset-Datei. Beispiel:



top.location.href="http://www.IhreDomain.de/";


So stimmt der Verweis immer, egal aus welchem Unterverzeichnis ihrer Web-Präsenz die Frameset-Datei aufgerufen wird!







26.01.2000   

NACH OBEN