Dynamisches Frameset & Frameset-Killer
Dino Müller
- javascript
0 Antje Hofmann0 Joachim0 Stefan Bion
Hallo,
ich habe gleich 3 Wünsche auf einmal :)
Und zwar möchte ich
1. Überprüfen, ob eine Seite meiner Site in einem fremden
Frameset angezeigt und dieses dann löschen.
2. Prüfen, ob mein Frameset überhaupt geladen wurde und dann
3. das Frameset mit der aufgerufenen Datei dynamisch nachladen.
Ich wollte das so lösen:
ich prüfe in einer Datei
1. ob eine Seite von meiner Domain aus aufgerufen wurde. Wenn nicht,
lade ich meine Seite mit folgendem Script nach:
function checkLocation()
{
if(top.location.href.lastIndexOf('domain.de') == -1)
top.location.href=self.location.href;
}
Damit hat sich auch das überprüfen eines fremden Framesets erledigt.
2. Danach prüfe ich, ob mein Frameset existiert. Wenn nicht, dann
3. lade ich mein Frameset dynamisch nach.
Funktion 1 funktioniert soweit, nur mit 2 und 3 hab ich meine
Probleme.
Wie muß ich das programmieren, damit das auch alles funktioniert?
Grüße an alle,
Dino.
Damit hat sich auch das überprüfen eines fremden Framesets erledigt.
- Danach prüfe ich, ob mein Frameset existiert. Wenn nicht, dann
- lade ich mein Frameset dynamisch nach.
Funktion 1 funktioniert soweit, nur mit 2 und 3 hab ich meine
Probleme.
Schaue mal hier nach http://www.teamone.de/selfaktuell/jsframes.htm
Antje
hi,
wenn Du Dein Framset nachladen willst, musst Du im Framset eine Variable definieren, und diese von der Framedatei aus abfragen.
Also, sowas ins Framset:
var alles_da = "roger";
und sowas in die Framdatei:
if(top.alles_da + "" != "roger")
{
if(document.images) top.location.replace("framset.htm");
else top.location.href="framset.htm";
}
die abfrage des image-objektes soll sicherstellen, das replace keine Fehlermeldung erzeugt, und ansonsten location.href verwendet wird. "" stellt sicher, das alles_da zum Vergleich in einen String umgewandelt wird.
Das alles findest Du uebrigens in der FAQ von de.comp lang.javascript, zum Nachlesen.
Viele Gruesse Joachim
Siehe <../../sfarchiv/1999_2/t04280.htm#a20819>.
Gruß,
Stefan