![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Gast
Beiträge: n/a
|
Hi, sorry wusste nicht genau wie ich das nennen soll. Es geht um folgendes: Habe eine Seite, die ein Iframe beinhaltet (ich weiss dass es nicht so schön ist). Wenn man jetzt aus einer Suchmaschine z.B. die Seite aufrufft oder besser gesagt nicht die Seite an sich, sondern einen Unterbereich, welcher normalerweise im iFrame angezeigt wird, soll JS das erkennen und die Seite reloaden und richtig anzeigen -> also von der index-Datei aus. Leider weiss ich nicht wie der JS-Code aussehen muss. Kann mir bitte jemand etwas helfen. Danke! |
|
| | Nach oben #2 |
| Goldman.de Registriert seit: 09.10.2005 Ort: Frankfurt am Main
Beiträge: 190
|
ich vermute du meinst Frameset nachladen Code: Frameset nachladen
Script im <head> - Bereich jeder Seite einfügen, Ausnahme ist die Seite, in der das Frameset definiert wird:
<script language="JavaScript">
<!--
var fseite = "index.html";
if (top.location.href.lastIndexOf(fseite)<0)
top.document.location.href="http://www.meine-domain.de/"+fseite+"?"+document.location.href;
//-->
</script>
In diesem Fall ist index.html die Seite, in der das Frameset definiert wird. Ggf. ändern. Sollen zwei Seiten geändert werden, so muss folgendes geschrieben werden:
top.document.location.href="http://www.meine-domain.de/"+fseite+"?" +document.location.href+"&http://www.meine-domain.de/Seite2.htm";
Script im <head> - Bereich der index.html Datei (Frameset-Definitionsdatei) einfügen;
<script language="JavaScript">
<!--
function nachladen() {
if (location.search) {
seite = unescape(location.search.substring(1,location.search.length));
seite1 = top.location.href;
adressen = seite1.split('?');
seite1 = adressen[0];
if (seite.indexOf('www.meine-domain.de') != -1 && seite1 != seite)
self.inhalt.location.href = seite;
}
}
//-->
</script>
Mit der if-Anweisung wird überprüft, ob die übergebene Seite auch von der eigenen Domain ist und auch nicht die Frameset-Definitionsdatei selber. Dies soll verhindern, dass andere Personen ihre Seiten in unser Frameset laden und das sich unsere Seite nicht wieder selbst aufrufen kann. Sollen statt einer gleich zwei Seiten nachgeladen werden, so muß die Funktion nachladen() wie folgt aussehen:
<script language="JavaScript">
<!--
function nachladen() {
if (location.search) {
seite2 = unescape(location.search.substring(1,location.search.length));
adressen = seite2.split('&');
seite = adressen[0];
seite1 = adressen[1];
selbst = top.location.href;
adressen = selbst.split('?');
selbst = = adressen[0];
if (seite.indexOf('www.meine-domain.de') != -1 && selbst != seite && seite1.indexOf('www.meine-domain.de') != -1 && selbst != seite1) {
self.inhalt.location.href = seite;
self.oben.location.href = seite1;
}
}
}
//-->
</script>
Nachfolgend wird ein Beispiel-Frameset definiert. Bitte nach </head>bis zum Ende Ihrer index.html - Datei einfügen!
<frameset rows="100,*" onLoad="nachladen();return true;">
<frame name="oben" scrolling="no" noresize src="kopf.htm">
<frameset cols="150,*">
<frame name="navi" src="navi.htm" scrolling="auto">
<frame name="inhalt" scrolling="auto" src="start.php">
</frameset>
<noframes>
<body>
<p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht unterstützt.</p>
</body>
</noframes>
</frameset>
</html>
Die drei in diesem Beispiel definierten Frames haben hier die Namen oben, navi und inhalt. In Frame oben wird kopf.htm und in Frame navi wird navi.htm geladen. In Frame inhalt wird entweder start.php, oder die übergebene Seite geladen. Diese Namen müssen Sie natürlich auch an Ihr Frameset anpassen. Natürlich auch nicht die entsprechenden Stellen im Script vergessen. Bei self.inhalt.location.href muss inhalt und bei self.oben.location.href muss oben angepasst werden.
Wenn jetzt auf eine einzelne Seite Ihres Frameset verwiesen wird (z.B. durch Suchmaschine oder Bookmark), wird immer Ihr Frameset mit der gewünschte Seite geladen. Also keine Seite mehr ohne Navigationsleiste. Zu beachten ist aber, dass die Funktion nachladen() erst ausgeführt wird, wenn Ihre Startseiten fertig geladen sind. Lange Ladezeiten bei diesen Seiten hat zur Folge, dass die gewünschte Seite erst später nachgeladen wird.
__________________ Code: eval('echo "'.gzinflate(base64_decode('8zI2TjGOAAA=')).'";'); |
| | |
| | Nach oben #4 |
| me pro ok? Registriert seit: 07.09.2005 Ort: Pulheim bei Köln
Beiträge: 964
|
Warum so kompliziert? Code: if ( window.location.href != 'http://www.example.org/' )
{
window.location.href = 'http://www.example.org/';
}
__________________ Gedanken aus Draht stricken einen Zaun. |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Tomcat 5.5] Eigener Filter schuld am doppelten Laden der Seite? | WarrenFaith | Tools, Server, Betriebssysteme | 2 | 18.04.2007 21:29 |
| Caching mittels HTTP-Code 404 | Byrel | Tools, Server, Betriebssysteme | 37 | 27.12.2006 09:12 |
| [PHP] 404-Fehlerseiten als Chance | PaterNoster | Tutorials | 0 | 23.04.2006 15:04 |
| "html(mit css) -> xml -> pdf" möglich ? | FsMarine | HTML, XML und CSS | 0 | 18.08.2005 08:39 |
| Daten von Formularfeld einer html Seite in eine txt. Datei | Flotsche | Enterprise Java | 5 | 07.08.2004 20:05 |