Problem: Surfer landen auf einzelnen Frameseiten
shadowhunter
- html
3 Ashura0 Cybaer
1 Problem: Frames
Cheatah0 Cybaer
hi!
Ich habe folgendes Problem:
Kommt ein Surfer über eine Suchmaschine oder einen detailierten Link auf eine Seite, so wird sie nicht innerhalb des Frameset angezeigt - also womöglich nur der pure Text ohne Logo und Navigation.
Wie kann ich jetzt, wenn der User auf einer einzelnen Frameseite angelangt ist, meine Navigation zusätzlich anzeigen?!
Ich habe hier ein Script gefunden, welches einfach die ganze Seite mit Navigation lädt, jedoch bleibt der User NICHT auf der angelangten Seite, welche der zu "suchende" Inhalt hat. Vieleicht könnte das Script mithelfen...
<script language="Javascript">
<!--
if(top.frames.length <= 0)
top.location = "frameset.htm";
//-->
</script>
Konkret: Wenn ein User auf einer wichtigen Seite angelant ist und die Navigation noch nicht vorhanden ist, da der User nicht über die Startseite zu der einzelnen Seite gelangt ist, muss sich automatisch die Navigation dazuladen!
Kann mit jemand weiterhelfen?
Vielen Dank im Voraus
greez
Hallo shadowhunter.
Kommt ein Surfer über eine Suchmaschine oder einen detailierten Link auf eine Seite, so wird sie nicht innerhalb des Frameset angezeigt - also womöglich nur der pure Text ohne Logo und Navigation.
Du scheinst das Konzept von Framesets falsch verstanden zu haben. Ein Frameset dient dazu, mehrere verschiedene Resourcen parallel darzustellen. Jede Resource für sich muss alleinstehend voll funktionstüchtig sein. Das Frameset soll hierbei lediglich die Handhabung vereinfachen.
Befolgst du diesen Grundsatz nicht, landest du in einer solchen Situation wie der deinigen.
Wie kann ich jetzt, wenn der User auf einer einzelnen Frameseite angelangt ist, meine Navigation zusätzlich anzeigen?!
Du hast im Grunde zwei Möglichkeiten:
1. Du machst jedes einzelne HTML-Dokument für sich alleinstehend voll benutzbar, indem du bspw. eine Navigation einfügst.
2. Du verzichtest vollkommen auf Frames. Eine Möglichkeit, wiederkehrende Dokumententeile einzubinden, stellen Includes dar.
Ich habe hier ein Script gefunden, welches einfach die ganze Seite mit Navigation lädt, jedoch bleibt der User NICHT auf der angelangten Seite, welche der zu "suchende" Inhalt hat. Vieleicht könnte das Script mithelfen...
Du möchtest ein verhunztes Konzept noch weiter verschlechtern, als es schon ist? Ist dies wirklich das, was du willst?
Auf JavaScript kannst du dich hier auf gar keinen Fall verlassen, du musst schon den grundsätzlichen Aufbau ändern.
Eine Möglichkeit wäre, jedes Frameset eindeutig zu benennen, so dass jedem inhaltlichen HTML-Dokument ein Frameset zugeordnet werden kann. Doch hieraus resultieren meiner Meinung nach viel zu viele HTML-Dokumente, welche im Grunde überflüssig sind, wenn du gleich den gesamten Aufbau auf ein frameloses Konzept umstellst.
Einen schönen Dienstag noch.
Gruß, Ashura
Hi,
Eine Möglichkeit wäre, jedes Frameset eindeutig zu benennen, so dass jedem inhaltlichen HTML-Dokument ein Frameset zugeordnet werden kann. Doch hieraus resultieren meiner Meinung nach viel zu viele HTML-Dokumente,
Optimalerweise (halt on-the-fly erzeugt) entsteht dabei gar nichts (OK, ggf. kann man die erzeugten Daten natürlich auch speichern/cachen). Die eindeutige Benennung ergibt sich einfach aus dem Dateinamen der existenten Content-Datei.
Am besten macht man das mit einem serverseitigen Mechanismus, aber JS geht natürlich auch.
Gruß, Cybaer
Hi,
Kommt ein Surfer über eine Suchmaschine oder einen detailierten Link auf eine Seite, so wird sie nicht innerhalb des Frameset angezeigt - also womöglich nur der pure Text ohne Logo und Navigation.
Du hast eines der grundlegenden Probleme erkannt, die das Konzept von Frames zwangsläufig mit sich führt. Auch wenn gegen einzelne Probleme Workarounds existieren mögen, die vielleicht sogar unter vielen Umständen funktionieren, gibt es *keine* Lösung für die lawinenartige Masse der gigantischen Nachteile von Frames - außer dem Verzicht auf sie.
Wie kann ich jetzt, wenn der User auf einer einzelnen Frameseite angelangt ist, meine Navigation zusätzlich anzeigen?!
Effektiv: Gar nicht.
Ich habe hier ein Script gefunden,
Welches nur funktioniert, wenn JavaScript zufällig mal aktiv ist. Und selbst dann führt es Nachteile für den Benutzer mit sich - und löst das eigentliche Problem, also die Frames, nicht.
welches einfach die ganze Seite mit Navigation lädt, jedoch bleibt der User NICHT auf der angelangten Seite, welche der zu "suchende" Inhalt hat. Vieleicht könnte das Script mithelfen...
Nein, dazu muss "frameset.htm" (warum eigentlich nicht ".html"? Läuft Dein Server unter Window 3.x?) das entsprechende Frameset generieren. Das genannte Script muss hierzu zwar auch angepasst werden, hat mit dem Vorgang aber ansonsten nichts zu tun.
<script language="Javascript">
Das Fehlen des zwingend(!) benötigten type-Attributs sagt einiges über Autoren aus, die versuchen, auf Deubel komm raus bei Frames zu bleiben.
Konkret: Wenn ein User auf einer wichtigen Seite angelant ist und die Navigation noch nicht vorhanden ist,
... dann liegt das daran, dass Du Frames verwendest, was sich nur dadurch beheben lässt, dass Du keine Frames verwendest.
muss sich automatisch die Navigation dazuladen!
Dieses "muss" kann unter keinen Umständen erfüllt werden, solange Du Frames einsetzt.
Cheatah
Ok, trotzdem 1000x Danke!
Warum ich die Frage gestellt habe:
Ich möchte meine Webseite nicht umstellen, weil ich mit anderen Sachen (includes, php, ...) nicht viel Erfahrung habe!
Vieleicht stelle ich die Seite später um, wenn ich mehr Zeit verfüge...
Ich weiss schon, dass Frames nicht die geeignteteste Technik ist...
Welches ist der beste Ersatz für Frames, welcher auch einfach ist und wenig Zeit braucht?!
greeez
Hallo shadowhunter.
Welches ist der beste Ersatz für Frames, welcher auch einfach ist und wenig Zeit braucht?!
Server- und clientseitige Includes ausgeschlossen: keiner. Es gibt keine Alternative.
Einen schönen Dienstag noch.
Gruß, Ashura
Server- und clientseitige Includes ausgeschlossen: keiner. Es gibt keine Alternative.
Kommt darauf an wie komplex eine Seite und ihre Navigation ist. Manch einer mag es nicht glauben, aber man kann die Navigation auch per Hand in jede Seite kopieren oder eine Vorlage in der diese schon vorhanden ist verwenden. Das ist durchaus eine AlLternative und oft mit überschaubarem Aufwand machbar. Bei Änderungen gibt es in vielen HTML-Code-Editoren "Suchen und Ersetzen"-Funktionen mit denen man ganze Verzeichnisse ändern kann.
Wie gesagt je nach dem wie umfangreich eine Seite ist kann man das so machen. Ich persönlich scheue davor nicht zurück. Besser als Frame-Krampf zu verweden.
Muss jeder selbst wissen.
Hi,
Wie kann ich jetzt, wenn der User auf einer einzelnen Frameseite angelangt ist, meine Navigation zusätzlich anzeigen?!
Indem Du ihm eine (kleine?) anbietest (Stichwort: Breadcrumb-Navigation). Außerdem wäre ein Link "Navigation nachladen" hilfreich. Und JavaScripts, die ein passendes Frameset nachladen (i.d.R. wird der Dateiname als Parameter übergeben), sind im Web nun wirklich reichhaltig gesät - mußt wohl nur ein wenig länger suchen ...
IIRC gibt es bei den hiesigen Artikeln oder Tipps & Tricks ebenfalls entsprechendes!
Gruß, Cybaer