3.6k Aufrufe
Gefragt in Webseiten HTML von fritz-rudolf Experte (3.3k Punkte)
Hi,

ich habe eine Seite mit Frames, nach dem Muster oben Titel, links Inhalt, Hauptframe zeigt die Startseite an. (z.B. www.bla-bla.de/start.htm)

Wenn ich jetzt im Inhaltsverzeichnis eine Unterseite auswähle, erscheint diese Seite im Hauptframe, die anderen Teile bleiben gleich. Die Unterseite heißt dann z.B. www.bla-bla.de/anfahrt.htm, in der Adresszeile des Browsers wird aber weiter www.bla-bla.de/start.htm angezeigt.

Gebe ich irgendwo www.bla-bla.de/start.htm als Link ein, erscheint die Frameseite mit Startseite, gebe ich www.bla-bla.de/anfahrt.htm ein, erscheint zwar die Anfahrtseite, aber ohne Frame, also ohne Titel und Inhalt. War das verständlich???

Ich möchte nun aber die Frameseite verlinken, mit der Anfahrt im Hauptframe. Geht das und wenn ja wie?

Ich weiß, Frameseiten sind out. Aber erstens habe ich von z.B. CSS nicht momentan nicht viel Ahnung und zweitens möchte ich heute nur meine Seite verlinken und nicht die komplette Homepage umbauen ;-)

THX FR

11 Antworten

0 Punkte
Beantwortet von ralfman Experte (2.1k Punkte)
Hallo friz-rudolf,
um das Quereinsteigen zu unterbinden, füge bitte mal folgenden Code unter dem </head> bereich ein.
Selbstverständlich auf allen Seiten die nur mit vollständigem Frameset geöffnet werden sollen.
<script language="javascript">
if(top.location.href.lastIndexOf("index.htm")==-1)
top.document.location.href="index.htm"
</script>
Anzupassen ist eventuell nur index.htm

Und lass Dich nicht verwirren, selbstverständlich sind Framesets nicht mehr Zeitgemäß, aber es Funktioniert. Und Deine Seiten sind sicherlich nicht für den Öffentlichen Dienst, so das Du auf Barierefreiheit achten müsstest.

Ralf
0 Punkte
Beantwortet von fritz-rudolf Experte (3.3k Punkte)
@Ralf

werde ich versuchen.

Das funktioniert dann aber nur, wenn Javascript zugelassen ist, oder? Bleibt bei den anderen alles beim alten oder kriegen die eine zusätzliche Fehlermeldung?

Das Script muss dann auf jeder Seite stehen, die dann im Hauptframe des Framesets stehen soll?

Und dann statt "index" eben "start" ?


Gäbe es denn rein theoretisch noch eine andere/weitere Möglichkeiten das zu erreichen? Manchmal führen ja doch viele Wege nach Rom.

Wie groß wäre eigentlich der Aufwand, auf Framelose Seite umzustellen?
Sicher ist dann Frontpage keine Hilfe mehr, oder? (Ja, ich weiß iss auch out ;-) )

THX FR
0 Punkte
Beantwortet von ralfman Experte (2.1k Punkte)
Na, dann will ich mal offene Fragen Beantworten:
Das funktioniert dann aber nur, wenn Javascript zugelassen ist, oder? Bleibt bei den anderen alles beim alten oder kriegen die eine zusätzliche Fehlermeldung?
Ohne Zugelassenen Javascript funktioniert das nicht. Aber das sid auch nur ca. 3% die zu Vernachlässigen sind.
Das Script muss dann auf jeder Seite stehen, die dann im Hauptframe des Framesets stehen soll?
Ja
Und dann statt "index" eben "start" ?
Korrekt
Gäbe es denn rein theoretisch noch eine andere/weitere Möglichkeiten das zu erreichen? Manchmal führen ja doch viele Wege nach Rom.
Ist mir nicht bekannt.
Wie groß wäre eigentlich der Aufwand, auf Framelose Seite umzustellen?
Reichlich
Sicher ist dann Frontpage keine Hilfe mehr, oder?
Frontpage selbst wird seitens Microsoft seit 2006 nicht mehr unterstützt. Auch die Redmonder haben bemerkt das der Quellcode von Frontpage schlicht als unbrauchbar zu bezeichnen ist.
Wenn Microsoft, dann den Microsoft Sharepoint Designer. Sicherlich gibts auch Stimmen die nicht Microsoft nutzen wollen, aber das ist jedem seine sache (auch ich mache sowas lieber "zu Fuss" im Editor [ConTEXT]).

Ralf
0 Punkte
Beantwortet von
Ohne Zugelassenen Javascript funktioniert das nicht. Aber das sid auch nur ca. 3% die zu Vernachlässigen sind.
+ diejenigen die bestimmte Funktionen - wie zB. eine JavaScript-Weiterleitung - unterbinden! Vernachlässigen? Schwierig, evtl. haben ja die besten Kunden gerade eine JavaScript-Phobie...

Das Script muss dann auf jeder Seite stehen, die dann im Hauptframe des Framesets stehen soll?
Ja
ein zentrales, aber überall eingebundenes, Skript wäre sinnvoller!

Und dann statt "index" eben "start" ?
der Server unterstützt "start.htm" als Startseite? Das ist doch eher ungewöhnlich.

Gäbe es denn rein theoretisch noch eine andere/weitere Möglichkeiten das zu erreichen? Manchmal führen ja doch viele Wege nach Rom.
Nein! Da nur der Browser einen Überblick darüber hat, welche Dateien in welchem Fenster angezeigt werden, kann auch nur aus dem Browser heraus agiert werden. Da bleibt nur JavaScript. Ein ausgereifteres Script als Ralfmans Entwurf findest du bei SelfHTML.

Wie groß wäre eigentlich der Aufwand, auf Framelose Seite umzustellen?
je nachdem. Wenn du überserverseitige Techniken verfügst (PHP) sehr gering, ansonsten musst du nur jede Seite von Hand um Kopf und Navi ergänzen. Mit Copy&Paste&dateiübergreifendem automatischem Ersetzen eine Sache von ca. 10 Minuten bei einer Seite mit weniger als 10 Unterseiten.

Sicher ist dann Frontpage keine Hilfe mehr, oder?
FP war niemals eine! Wenn du FP nutzt korrigiere ich meine Prognose auf ca. 3 Stunden.
0 Punkte
Beantwortet von
Hi,
vieleicht geht, wenn du im Link der aufzurufenden Seite einfach nur target="name des Hauptfensters" an gibst.
0 Punkte
Beantwortet von fritz-rudolf Experte (3.3k Punkte)
Was passiert, wenn ich ein Javascript einfüge? Die die Java akzeptieren kriegen die komplette Ansicht und die anderen die alte ohne Frame oder eine Fehlermeldung, also gar keinen Zugriff?

Die Startseite ist schon "index", aber das ist nur ein Begrüßungsschirm mit Logo. Die erste Seite im Frameset ist "start"

Na ja, die HP gibt es schon eine gaaanze Weile. Und FP war mir damals schon eine Hilfe, mittlerweile habe ich mich daran gewöhnt. Und da die Page mittlerweile aus ca. 150 Untgerseiten und 1000 Bildern besteht, sehe ich im neustricken schon ein Problem.

In so einer Feuerwehr sammeln sich in 8 Jahren schon eine ganze Menge Einsatzberichte und anderer Kram an.

THX FR
0 Punkte
Beantwortet von ralfman Experte (2.1k Punkte)
Also nochmal:
Was passiert, wenn ich ein Javascript einfüge? Die die Java akzeptieren kriegen die komplette Ansicht und die anderen die alte ohne Frame oder eine Fehlermeldung, also gar keinen Zugriff?
Ohne Javascript kein Frameset. Also nur die eine Seite.
Die Startseite ist schon "index", aber das ist nur ein Begrüßungsschirm mit Logo. Die erste Seite im Frameset ist "start"
Dann gehört der Script in die Seite "Start.htm", und im Script ist der Frameset, also "index.htm" angegeben. Was Du anpassen musst ist ".htm" bzw. ".html".

Ralf
0 Punkte
Beantwortet von ralfman Experte (2.1k Punkte)
Du hast die Seiten mal gebaut. Dein Frameset besteht aus Kopf, Navigation und Hauptseite. Diese drei Seiten werden in einer weiteren angezeigt, nämlich der index.htm.
Ergo besteht dein Frameset aus vier Seiten.
Eine Seite in der drei weitere angezeigt werden.
Und Quereinsteigen kannst Du verhindern in dem Du auf den Seinen bei denen das Quereinsteigen nicht möglich sein soll den Script einfügst.
Kopierst Du also den Script in Deine Seite "start.htm", so wird der komplette Frame mit der start.htm geladen wenn www.blah-blah/start.htm aufgerufen wird. Genau so verhält sich das mit Seiten wie "navigation.htm", "weihnachtsfeier2008.htm", "grossbrand-scheune.htm" usw.

Ralf
0 Punkte
Beantwortet von
Was passiert, wenn ich ein Javascript einfüge? Die die Java akzeptieren kriegen die komplette Ansicht und die anderen die alte ohne Frame oder eine Fehlermeldung, also gar keinen Zugriff?
ohne JavaScript wird die Unterseite einfach aufgerufen und angezeigt, anstatt dass das JavaScript ausgeführt wird, was ja zum Laden der Seite start.htm führt falls du Ralfmans Variante nutzt.

Genau das würde mich aber als User nerven: Ich suche über eine Suchmaschine ein bestimmtes Stichwort, die Suchmaschine findet es auf einer Unterseite bei dir, ich klicke auf den Link zur Unterseite, irgendwas lädt kurz, dann wird eine andere Seite geladen, auf der ich das Stichwort nicht entdecke. Folge: ich gehe zurück zur Suchmaschinenseite und probiere den nächsten Suchtreffer. So vergraulst du Seitenbesucher!

Vermeide solchen Unsinn. Wenn du deine Seiten noch nicht umbauen willst nutze wenigstens ein ausgereiftes Skript wie das von SelfHTML.
0 Punkte
Beantwortet von ralfman Experte (2.1k Punkte)
@gast42,
das ist nicht ganz korrekt.
Wenn Du über die Suchmaschine auf die Seite kommst, wird auch die (z.B.) Seite anfahrt im Frameset angezeigt und nicht die Startseite im Frameset.
Du kannst das gern mal ausprobieren, ein Frameset und einige Seiten die darin angezeigt werden, sind in 5 Minuten zurchtgepfuscht. Sollte aber zu demonstrationszwecken reichen.

Ralf
...