PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HTML-Füchse gesucht ...


Friedrich
04.11.2005, 19:41
Ich habe in den Logfiles meines Webspaces entdeckt, dass Besucher häufig von Suchmaschinen auf Unterseiten meiner HP gelinkt werden. Diese Besucher sehen dann nur den Hauptframe als ganzes Fenster und kommen von da auch nicht weiter, weil die Navigationsleiste fehlt.

Nun suche ich nach einer Möglichkeit, dass beim Aufruf einer Unterseite per URL von außen der Frameset (also Banner und Navigation) automatisch mit geladen wird.

Ein Refresh auf die index.html (wie man das macht, weiß ich) bringt nicht das Gewünschte, dann sähe der Besucher zwar die Frames, aber nicht die Unterseite, die er bei Google angeklickt hat, sondern er käme dann auf die Startseite.

So soll es ja nicht sein, er soll die Unterseite sehen, die er angeklickt hat, aber halt mit Banner und Navigation.

Angenommen, es gibt dafür einen Code, dann würde ich mir auch die Fleißarbeit antun, diesen auf allen Unterseiten einzufügen. :eek:

Vielen Dank schonmal den Experten fürs Nachdenken :)

Gruß, Friedrich

vmk
04.11.2005, 20:02
OT: Wieso überhaupt noch Frames? Für das was du vorhast nimmt man i.d.R. css.

Friedrich
04.11.2005, 20:18
OT: Wieso überhaupt noch Frames? Für das was du vorhast nimmt man i.d.R. css.
Nun, ich habe das vor länger Zeit mal so angefangen mit Frames, was vielleicht nicht unbedingt die glücklichste Lösung war. Aber heute alles von Frames auf „gemeinsame Randbereiche“ umzubauen, das ist mir zu viel Arbeit, dazu habe ich, ehrlich gesagt, keine große Lust. Außerdem gefällt es meinen Stammbesuchern (das weiß ich aus persönlichen Gesprächen), dass bei langen Seiten die Navigation nicht mit wegscrollt, sondern am Platz bleibt.

Mit css kenne ich mich nicht so gut aus, wenn mein Wunsch aber damit zu verwirklichen wäre, dann findet sich hier vielleicht noch jemand, der es mir erklären kann :)

Gruß, Friedrich

Sys.Op.
04.11.2005, 20:21
Mit Hilfe einiger JavaScripts lädt man das Frameset nach. So und so gehts:

Zuerst prüft das Script, ob die Seite in einem Frameset angezeigt wird oder einzeln steht. Dazu wird im Frameset die Variable "Frameset geladen" definiert. Sie kann von anderen Seiten abgefragt werden. Fehlt diese Variable, wird das Frameset nachgeladen.

Das Script muss in jede Einzelseite eingebunden werden, sofern das Nachladen gewünscht ist. Dazu steht das folgende JavaScript im Header:

<script language="JavaScript">
<!--
var ZielDatei = "frameset.htm?interessantes.html";

if (!top.FramesetGeladen){
if(document.images)
top.location.replace(ZielDatei);
else
top.location.href = ZielDatei ;
}
//-->
</script>

Um die zunächst geladene Seite im Frameset richtig zu positionieren, brauchen wir das folgende Script. Es wird in das Framesets (Head-Bereich) eingesetzt. Im folgenden Beispiel wird die Seite in das Frame "Rechts" eingefügt.

<SCRIPT LANGUAGE="JavaScript">
<!--
var FramesetGeladen = 1;
function SeiteLaden() {
if(self.location.search.length > 0) {
var laenge = self.location.search.length;
var Neue_url = self.location.search.substring(1,laenge);
if (document.images)
self.Rechts.location.replace(Neue_url);
else
self.Rechts.location.href = (Neue_url);
}
}
//-->
</SCRIPT>

So, und um die Funktion zu starten:

<frameset onLoad="SeiteLaden(); return true;" cols="25%,*">

Friedrich
04.11.2005, 20:40
Dankeschön, damit werde ich mich am Wochenende mal beschäftigen. Ich verstehe es so, dass ich „interessantes.html“ durch den Seitennamen (mit kpl. Pfad?) ersetzen muss, ebenso im Frameset „Rechts“ mit dem Namen, der im Frameset für den Hauptframe definiert ist. Na, ich werde mal schauen, wie ich damit weiterkomme :)

Gruß, Friedrich

Sys.Op.
04.11.2005, 20:42
Richtig verstanden...! Nichtsdesdotrotz: Wenn du viele Seiten hast würde ich ein komplettes Redesign mit CSS - was aber nicht einfach ist - ggfls. vorziehen.

Osborn
04.11.2005, 20:51
http://de.selfhtml.org/