Ob-im-Frame-sei-Check

… ein blöder Titel, ich weiß, trotzdem…

Hallo, Script-Profis,

ich hab eine Seite mit Frames, die „unter“-Seiten haben natürlich nur eine eingeschränkte Navigation (und keine Kopfzeile…), aber (man iss ja nich’ plöt) ich hab mir 'n JavaScript-Schnipsel gebastelt, der den Frame nachläd:

<!–
if(top.frames.length < 1)
{window.location.href=„frameset.html“;}
//–>

Nun irritiert mich aber, daß das Script so funktioniert, nicht aber mit
if(top.frames.length = 0)
oder mit
if(top.frames.length = „0“)
Wenn ich per alert top.frames.length überprüfe, zeigt er 0 an.

Kann mir jemand erklären, warum „= 0“ nicht funktioniert??
Ist nur interessehalber…

Gruß
Sibylle

Du bist wirklich nicht ganz plöt !

Erstens heisst es:

if(top.frames.length >0) statt

Hai, Vir2allender,

ist Dir jemand über die Leber gelaufen??? Mööönsch, so schräge Anmache bin ich von Dir gar nicht gewöhnt…

Erstens heisst es:

if(top.frames.length >0) statt meiner Seite in einer Suchmaschine auftaucht, oder von irgendjemand direkt, also ohne dazugehöriges Frameset, aufgerufen wird, mein Frameset, inclusive Menue, geladen wird.

Zweitens schlaf Dich erstmal aus:

Wenn dann:
if(top.frames.length == 0)
statt
if(top.frames.length = 0)

Hach, der schonwieder - ein beliebter Fehler meinerseit, der aber wenig mit zuwenig Schlaf, dafür aber mehr damit zu tun hat, daß ich mehr mit VB arbeite - und da werden Vergleiche nunmal nur mit einem =-Zeichen gemacht…

Für letzteren Hinweis danke ich Dir (vielleicht schaffe ich ja irgendwann, mir das mit dem == zu merken), ansonsten wünsche ich Dir möglichst schnell einen erholsamen Urlaub oder wenigstens ein paar ruhige und lange Nächte, auf daß Du wieder zu dem gewohnten, eher freundlichen Ton, zurückfinden mögest.

betont freundlichen Gruß
Sibylle

Hallo,

ja verstehe und war auch nicht so gemeint.

In Deiner HTML/Datei, die das Frameset definiert, kannst Du folgendes im Header einfuegen:

\<!--
///////////////////////////////////////////////////////////
// Disallow loading domestic frameset in export frameset.
if (top.frames.length \> 0)
 top.location.href = self.location.href;

//--\>

In mindestens einer der HTML-Dateien, die Teil des Framset’s sind kannst Du folgendes plazieren:

\<!--
/////////////////////////////////////////////
// Disallow loading standalone child frame.
if (top.frames.length==0)
 self.location.replace("./frameset.htm");
// or self.location.href = "./frameset.htm";

//--\>

„./frameset.htm“ steht dann widerum fuer die Pfadangabe zu der HTML-Datei, die den Frameset deklariert.

Des weiteren kannst Du im Root-Verzeichnis Deiner Domain eine robots.txt hochladen, die Robots Anweisungen vorgibt, welche Dateien gescant werden duerfen und welche nicht:

# /robots.txt sample file for http://www.MyDomain.de/
# mail [email protected] for constructive criticism

User-agent: EmailCollector
Disallow: /

User-agent: \*
Disallow: /framesetfolder1/
Disallow: /framesetfolder2/
Disallow: /framesetfolder3/
...
usw

Tschaui

1 „Gefällt mir“

Danke, und Suchmaschinen-Fragen
Hai, nochmal

ja verstehe und war auch nicht so gemeint.

fühl Dich ange-smile-t (ja, ja, mein Denglisch macht Fortschritte :wink: )

<!–
///////////////////////////////////////////////////////////
// Disallow loading domestic frameset in export frameset.
if (top.frames.length > 0)
top.location.href = self.location.href;

//–>

hab ich schon drin…

<!–
/////////////////////////////////////////////
// Disallow loading standalone child frame.
if (top.frames.length==0)
self.location.replace("./frameset.htm");
// or self.location.href = „./frameset.htm“;

//–>

bis auf den anderen Weg (der auch nach Rom führt :wink: ) ist das doch das gleiche, wie das, was ich da konstruiert habe, oder? Gibt’s einen Grund, self.location statt window.location zu benutzen?

Des weiteren kannst Du im Root-Verzeichnis Deiner Domain eine
robots.txt hochladen, die Robots Anweisungen vorgibt, welche
Dateien gescant werden duerfen und welche nicht:

Ich versuche gerade verzweifelt, die Site Suchmaschinen-freundlich zu gestalten, also so, daß alle passenden Einzelseiten bei den ensprechenden Suchbegriffen gefunden werden. Da es unterschiedliche Themenbereiche gibt, kann ich ja schlecht den gesamten Krempel auf die Start-Seite schreiben. Also kriegt jetzt jede Seite ihre Meta-Tags mit den passenden Suchbegriffen, Inhaltsangaben, Titeln, blahfasel, Textlaber - den robots den Zugriff auf ebendiese Seiten dann zu sperren, wäre irgendwie kontraproduktiv… (obwohl: wer keene Arbeit hat, macht sich welche)

BTW: gerüchteweise hab ich gehört, daß sich Suchmaschinen an Seiten-Übersichten halten sollen - weißt Du da was? Wie die aussehen müssen? Vielleicht 'n Link, oder so? *bescheiden anfrag*

allerfreundlichsten Gruß
Sibylle

Hai,

nein… self ist nur ein anderer Name fuer window, soll aber nur explicit darauf hinweisen, dass genau „this window“ gemeint ist, in dem das Script steht.

Ich persönlich wuerde alle Seite fuer die Robots (solange die das auch verstehen) sperren und die Startseite nur so vollklotzen mit Infos. Nicht alle Robots verstehen alles und auch nicht alle Angaben in beliebiger Laenge. Es ist nur leichter zu pflegen.

Folgendes kannst Du verwenden, gibt bestimmt noch mehr…

My Homepage Title
1 „Gefällt mir“

Dank Dir, bist’n Schatz owT