Seite 1 von 2
automatische Frameeinbindung
Verfasst: 23.08.2004 03:10
von Hako
Hallo,
meine Seite hat einen Navi Frame links und rechts den content Frame. Wenn jetzt Leute oder Suchmaschinen z.b. auf
diese Seite gehen, fehlt ihnen der Navigationsframe. Das ist ja keine Zustand, aber die Navi muss Frame bleiben, sonst müsste ich immer alle html Dateien ändern...
Es gibt eine Möglichkeit das wenn mann jetzt einen solchen
Deeplink besucht der frame eingeblendet wird oder eine msg box kommt. Nur wie macht man das?
Verfasst: 23.08.2004 06:33
von Dennis63
Eine gute Möglichkeit:
(a) Du bauste eine Seite ohne "dumme" frames
Eine schlechte Möglichkeit:
(b) Du checkst mit Javascript ab, ob die Seite im Frame läuft oder nicht. Nimmst damit aber in Kauf, daß evtl nur IE User die Page angücken können und alle anderen nicht - je nach Java-Script-Qualität...
Grüße
Dennis
Verfasst: 23.08.2004 11:24
von Hako
a)
Es wäre ziehmlich "dumm" bei jeder Navi Änderung alle Dateien ändern zu müssen.
b) Es gibt da auch scripts die mit Mozilla und IE arbeiten, das reicht mir auch. Aber wo finde ich sowas - und wie baue ich es ein? Von sowas habe ich keinen Schimmer

Verfasst: 23.08.2004 12:37
von DaniM
Hako, nein du musst nicht alle Dateien ändern. PHP ist die Lösung.
Du checkst aus der URL welche Seite aufgerufen wird, Beispiel wenn in der URL steht:
?content=home
Dann kannst du die Datei home.php oder home.html einbinden, verstehst du?
Mit freundlichen Grüßen,
Dani
Verfasst: 23.08.2004 13:08
von Hako
DaniM hat geschrieben:Hako, nein du musst nicht alle Dateien ändern. PHP ist die Lösung.
Du checkst aus der URL welche Seite aufgerufen wird, Beispiel wenn in der URL steht:
?content=home
Dann kannst du die Datei home.php oder home.html einbinden, verstehst du?
Mit freundlichen Grüßen,
Dani
leider nein, aber das klingt gut... aber wie macht man das?
Verfasst: 23.08.2004 13:19
von DaniM
Code: Alles auswählen
<html>
<head>
<title>Jaja, meine güte</title>
</head>
<body>
<table border="0" width="97%" align="center">
<colgroup>
<col width="30%">
<col width="70%">
<tr>
<td valign="top">
<?php
if(!(@include('./navi.html'))) {
echo "Navigation konnte nicht eingebunden werden!";
}
?>
</td><td valign="top">
<?php
switch($_GET['content']) {
case "home":
@include('./home.html');
break;
case "impressum":
@include('./impressum.html');
break;
default:
@include('./home.html');
}
?>
</td>
</tr>
</table>
</body>
</html>
Nun wird je nachdem was in der Adresseleiste steht (content=home) ein anderer Inhalt ausgegeben. Das hier ist ja nur ein Beispiel und kann beliebig erweitert werden...
Mit freundlichen Grüßen,
Dani
Verfasst: 23.08.2004 16:34
von Hako
Also wenn ich das richtig sehe soll diese Datei dort oben die Index werden, welche quasie wie frames ist. Nur das es für jede Seite einen Direktlink gibt.
Suchmaschinen verlinken dann doch trotzdem auf die fotos.html und die Navi fehlt...

Problem ist ja damit nicht behoben - oder irre ich da?
Verfasst: 23.08.2004 17:41
von Dennis63
Nein. Include ist kein Frame. Der Siete wird direkt in die Index.php geladen.
Probiere es mal aus.
Niemand (ausser Dir evtl) wird wissen, daß es noch eine news.html gibt. Und niemand wird sehen, daß es diese Datei überhaupt gibt.
Grüße
Dennis
Verfasst: 23.08.2004 19:41
von Hako
Und die Suchmaschinen indizieren dann auch die Unterseiten der HTML Datei? Und ich muss alle internen Links ändern?!
Verfasst: 23.08.2004 19:56
von DaniM
Das stimmt natürlich dass die Suchmaschinen auch die News seiten bzw. die HTML Seiten miteinbeziehen, aber ich glaube dass das dann Bots sind (?) die man mit einer Metaangabe unterbinden kann:
Code: Alles auswählen
<meta name="robots" content="noindex"> <!-- HTML -->
<meta name="robots" content="noindex" /> <!-- XHTML -->
So sollte es funktionieren, wenn das nicht stimmt bitte mich korrigieren.
Mit freundlichen Grüßen,
Dani