Bei einigen Seiten, die ich gemacht habe setze ich Frames ein. In einigen Suchmaschinen (bsp. www.search.ch) werden nun aber als Suchergebnis die einzelnen Frames der Seiten angezeigt und nicht die „zusammengesetzte“ Seite.
Bsp. Seite auf Frame A und Frame B, Suchergebnis ist dann nur Frame B anstatt die Seite (ich hoffe, ich drück mich irgendwie klar aus…)
Wie kann ich nun aber das ganze umgehen, so dass in der Suchmaschine nur die ganze Seite aufgezeigt wird???
Bei diesem Javascript wird ja anscheinend einfach der Frame aufgerufen, wenn die Seite angewählt wird.
Ist es aber vielleicht auch möglich (mit javascript), daß die angewählte Seite im Hauptfenster des Frames erscheint? So dass man also auf jede Seite seiner Homepage linken könnte, und diese dann dank javascript direkt im Frame angezeigt wird. (ich hoffe ich habe mich einigermassen verständlich ausgedrückt ).
Craven
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Ist es aber vielleicht auch möglich (mit javascript), daß die
angewählte Seite im Hauptfenster des Frames erscheint? So dass
man also auf jede Seite seiner Homepage linken könnte, und
diese dann dank javascript direkt im Frame angezeigt wird.
jep - das geht.
Fuege folgendes in die Seite mit der Framesetdefinition ein:
...
\<!--
var frameset\_geladen = "okay";
function SeiteLaden() {
if(self.location.search.length \> 0) {
var Search\_Laenge = self.location.search.length;
var info\_url = self.location.search.substring(1,Search\_Laenge);
self.seite.location.href = info\_url; }
//--\>
...
...
...
In jede Seite Deiner Site muss dann im Head folgendes eingefuegt werden:
\<!--
var Dateien = "index.html?seite.html";
if (top.frameset\_geladen + "" != "okay"){
if(document.images)
top.location.replace(Dateien);
else
top.location.href = Dateien ;
}
//--\>
Statt seite.html fuegst Du dann jeweils in jeder Seite den Dateinamen der Seite ein; wenn die datei mit dem Frameset anders heisst als index.html musst Du das auch anpassen.
Nachteil: Netscape schafft es dann nicht mehr, diese Seiten zu drucken, da er beim Drucken die Seite neu laedt und dabei mit dem Script nicht zurechtkommt.
Ich stelle gerade ca 200 Seiten auf Druckversionen um
Hab alles gemacht, wie du geschrieben hast. Nur leider scheint da etwas nicht zu klappen. Wenn ich nun eine Seite öffne (in der das script eingefügt ist), lädt er automatisch die Seite mit der Framedefinition, aber er lädt die angewählte Seite nicht in den Frame. Stattdessen sehe ich den Frame wie auch bisher. Kann es sein, daß das an meiner Framekonstruktion (Hauptfenster + Frame links + Frame oben) liegt?
Hab alles gemacht, wie du geschrieben hast. Nur leider scheint
da etwas nicht zu klappen. Wenn ich nun eine Seite öffne (in
der das script eingefügt ist), lädt er automatisch die Seite
mit der Framedefinition, aber er lädt die angewählte Seite
nicht in den Frame. Stattdessen sehe ich den Frame wie auch
bisher. Kann es sein, daß das an meiner Framekonstruktion
(Hauptfenster + Frame links + Frame oben) liegt?
nein, *grinsverlegen* - das liegt daran, dass ich einen kleinen aber wichtigen Teil nicht kommentiert habe:
...
\<!--
var frameset\_geladen = "okay";
function SeiteLaden() {
if(self.location.search.length \> 0) {
var Search\_Laenge = self.location.search.length;
var info\_url = self.location.search.substring(1,Search\_Laenge);
self.NAMEDESFRAMESDERSICHAENDERNSOLL.location.href = info\_url; }
//--\>
...
...
...
Du siehst schon wo:
In der Framesetdef. hast Du den Frames ja (wahrscheinlich) namen gegeben.
Und an der Stelle, die ich oben markiert habe, muss der Name des Frames stehen, der sich aendern soll.