Frames Location != top.location
Sven Fäßler
- javascript
0 Sven Fäßler0 Mirko
Hallo!
ich habe noch eine 2. Frage, und zwar:
man stelle sich vor www.seite.de/frameset.html
und www.seite.de/main.html
die main.html wird ins frameset geladen.
Jetzt möchte ich dass wenn man versucht die seite www.seite.de/main.html direkt zu öffnen, anstatt der main.html das komplette frameset geladen wird.
jemand eine Idee?
Danke im Votraus.
Sven Fäßler
Hat sich erledigt.
Es geht so:
<script language=JavaScript>
if (top.frames.length==0) location.replace("frameset.html")
</script>
Moin Sven,
Es geht so:
<script language=JavaScript>
if (top.frames.length==0) location.replace("frameset.html")
</script>
so geht es natürlich ;-)
Es geht aber auch besser... Wie steht unterhttp://aktuell.de.selfhtml.org/artikel/javascript/dyn-frames/index.htm, mit der Möglichkeit wird auch die ursprünglich aufgerufene Seite ins Frameset geladen und nicht immer die Startseite.
Glück auf
Dirk
Probiere gerade das 1. Beispiel:
www.teraspect.de/ie/frameset.html
www.teraspect.de/ie/impressum.html
wenn jetzt die impressum.html direkt geöffnet wird, wird das frameset geladen.... und direkt im frameset (achtung frameset + iframe). geht das trotzdem?) das impressum
<head>
...
<SCRIPT language="JavaScript">
<!--
function checkFrameset() {
if(!parent.xyzVerweisframe)
location.href="http://www.teraspect.de/ie/frameset.htm?" + location.pathname;
}
//-->
</SCRIPT>
</head>
<body onLoad='checkFrameset()'>
ReMoin Sven,
Probiere gerade das 1. Beispiel:
es sind keine zwei Beispiele sondern das Zusammenspiel von zwei Skripten in zwei Dateien; du musst also beide anpassen, auch die frameset.html...
wenn jetzt die impressum.html direkt geöffnet wird, wird das frameset geladen.... und direkt im frameset (achtung frameset + iframe). geht das trotzdem?) das impressum
Das iframe ist ja nur ein HTML-Tag in der nachgeladenen Seite, sollte also kein Problem darstellen.
Glück auf
Dirk
www.teraspect.de/test
was muß ich in der index.html (frameset) ändern?
wenn ich jetzt das impressum in einem neuen fenster öffnen möchte sollte sich doch eine neue frameseite öffnen oder?
funkt nicht :(
<SCRIPT language="JavaScript">
function checkFrameset() {
if(!parent.Links)
location.href="http://www.teraspect.de/test/index.html?" + location.pathname;
}
</SCRIPT>
ReMoin Sven, <- das ist eine Begrüßung und wird gerne gesehen!
was muß ich in der index.html (frameset) ändern?
wie bereits geschrieben: den zweiten Teil der Lösung von http://http://selfaktuell.teamone.de/artikel/javascript/dyn-frames/index.htm
wenn ich jetzt das impressum in einem neuen fenster öffnen möchte sollte sich doch eine neue frameseite öffnen oder?
Ja, ich denke, das ist das, was du möchtest...
funkt nicht :(
weil du halt nur den 1. Teil der Lösung nimmst, die beiden Teile gehören aber nun mal zusammen...
<SCRIPT language="JavaScript">
function checkFrameset() {
if(!parent.Links)
location.href="http://www.teraspect.de/test/index.html?" + location.pathname;
}
</SCRIPT>
Das ist halt gerade der erste Teil, das Script aus dem zweiten Teil gehört in die Index.html bzw. framset.html.
Auf http://www.teraspect.de/ie/impressum.html rufst du die frameset.html auf, diese hat aber nicht das Script, um den Teil hinter dem "?" auswerten zu können. Auf www.teraspect.de/test ist leider eine Weiterleitung, die unsere Firewall hier nicht durchlässt...
Am besten ist es, du nimmst dir mal 10 Minuten Zeit und liest den Artikel durch, dort ist wirklich alles erklärt ;-)
Glück auf
Dirk <- Das ist ein Abschiedsgruß, auch der wird hier gerne gesehen!
Danke für deine Hilfe.
Ich glaube irgendwie das liegt an unserem Server hier. Eben ging es... Naja, kümmer mich morgen darum.
Gruß
Sven
Hallo!
ich habe noch eine 2. Frage, und zwar:
man stelle sich vor www.seite.de/frameset.html
und www.seite.de/main.html
die main.html wird ins frameset geladen.
Jetzt möchte ich dass wenn man versucht die seite www.seite.de/main.html direkt zu öffnen, anstatt der main.html das komplette frameset geladen wird.
jemand eine Idee?
Danke im Votraus.
Sven Fäßler
Du musst in Deine main.html folgendes Java-Skript einbinden:
<script language="Javascript">
<!--
if (top.location == self.location)
{
top.location = 'http://.www.seite.de/frameset.html'
}
//-->
</script>