Frames nachladen mit JavaScript, wie eleganter?

Hallo zusammen,

derzeit nutze ich auf meiner Internetseite folgendes Script um die Frames nachzuladen.

if (parent.location.href == self.location.href){window.location.href = 'http://www.ixus-world.de/’}

Bei einem Aufruf einer Unterseite ohne Frameset wird als das Frameset mit Startseite nachgeladen. Ich hätte allerdings gerne, dass nur das Frameset nachgeladen wird und darin die angewählte Seite erscheint, also nicht die Startseite. Wie kann man soetwas realisieren?

Vielen Dank und Gruß.

Michael

Moin Michael!

Ich hätte allerdings
gerne, dass nur das Frameset nachgeladen wird und darin die
angewählte Seite erscheint, also nicht die Startseite.

Kann ich verstehen.

Ich habe da eine Idee, aber ich weiss nicht, ob sie wirklich funktioniert.

Füge auf der index.htm (also die mit dem Frameset) im -Bereich ein JavaScript ein, das eine Variable mit der zu ladenden Seite definiert.

var zu\_ladende\_Seite="start.htm"

(wobei start.htm Deine Startseite im Inhaltsframe ist)

Im Frameset selbst rufst Du in der entsprechenden Frame-Definition statt der Datei die Variable auf.

Bei direkter Anwahl Deiner Domain startet Deine Seite dann auf jeden Fall mit der Startseite.

Dein bisheriges Script zum nachladen des Framesets ergänzt Du durch eine Variable mit dem Namen der entsprechenden Datei.
Dabei müsste die Variable die gleiche Bezeichnung haben, wie die in der index.htm.

var zu\_ladende\_Seite="uebermich.htm"

(als Beispiel, wenn die Inhaltsseite uebermich.htm gerade aufgerufen wurde)

So, das ist der Ansatz.
Leider reichen meine Kenntnisse nicht weit genug, um den Rest hinzukriegen.

Auf jeden Fall fehlt jetzt noch ein Teil, der dafür sorgt, dass beim aufrufen der index.htm die eben definierte Variable nicht wieder durch den Wert „start.htm“ überschrieben wird, denn dann hättest Du nichts gewonnen.

Ich werd mal versuchen, das Script fertig zu kriegen, oder vielleicht kommst Du ja jetzt selbst schon weiter oder jemand hier kann’s ergänzen/ausbessern.

Der Nachteil der Methode ist allerdings, dass der Surfer JavaScript aktiviert haben muss, sonst sieht er noch nicht einmal Deine Startseite, da der Browser mit der Variable nichts anfangen kann.
Was anderes fällt mir aber nicht ein, ausser evtl. PHP (aber das hängt ja vom Webspace ab, den Du gehostet hast).

Gruss
Lanzelot

Hallo Michael,

ich verwende folgendes Script, um ein Frameset nachzuladen:

in der aufgerufenen datei:

<!–
var ZielDatei = „index.html?dateiname“;
if (!top.FramesetGeladen){
if(document.images)
top.location.replace(ZielDatei);
else
top.location.href = ZielDatei ;
}
//–>

und in der Indexdatei:

<!–
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.mainframe.location.replace(Neue_url);
else
self.mainframe.location.href = (Neue_url);
}
}
//–>

Die Indexscriptfunktion muss mittels des onLoad-events im body-tag aufgerufen werden!

Bei mir funktioniert es einwandfrei.

mfg,

Markus

bin ebenfalls auf der suche nach einer möglichkeit frames nachzuladen und bin unter …

http://www.ideenreich.com/trickkiste/tricks91.shtml
http://www.ideenreich.com/programmierung/ssi_10.shtml
http://www.ideenreich.com/programmierung/php_frames…

… schlau geworden.

zusatzfrage:

gibt es auch eine lösung für iframes ?

dave

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]