iFrames ändern
Jessica
- javascript
0 siro0 Matthis Schöchle0 HaThoV
Hallo,
vorweg ich bin Newbie, was JS anbelangt. Folgendes Problem:
Ich habe eine Indexseite (1) mit einem iFrame. Über einen Button möchte ich dann auf eine andere Indexseite (2) wechseln, die den gl. Aufbau hat. Soweit OK. Aber nun ... . Über die Indexseite (1) können versch. iFrames geladen werden, z.B. Kontaktseite. Wenn ich nun über den Button die 2. Indexseite öffne, soll der analoge iFrame geladen werden, also Kontaktseite (2).
Wie kann ich den derzeit geladenen iFrame auslesen und die Infos zum "src" dann weitergeben ?
Danke schon mal &
Gruß Jessica
Du könntest z.B. die Datei in ein extra Frameset einbinden und die mit Javascript den Wert von 'iframe.src' an das Frameset-Dokument übergeben (parent.variablenname) und von der neuen Seite auslesen.
Ein andere Möglichkeit, bestünde darin, die Adresse in einem Cookie zu speichern und wiederum auszulesen.
Hallo Jessica,
ich habe das ganze zwar nich 100% verstanden, aber ich hoffe, das hilft:
Wie kann ich den derzeit geladenen iFrame auslesen und die Infos zum "src" dann weitergeben ?
4 Schritte (reine JS-lösung):
1.) Aktuelles IFrame ermitteln:
Auf das IFrame kann man über den namen oder z.B. über document.getElementById("Frame") zugreifen.
Dann gibt es die z.B. die Eigenschaft 'name' oder 'src'.
2.) Ermittelte Info senden:
window.location.href = "index2.html?"+ermittelteInfo;
3.) Im Zieldokument die Parameter extrahieren/verarbeiten:
Mit Hilfe von 'window.location.search' die Parrameter holen und dann analysieren und neue iFrame-url ermitteln.
4.) IFrame.src im Dokument setzen:
document.getElementById("Frame").src = neueUrl;
Ich denke es empfiehlt sich die Verarbeitung der Parameter oder zumindest die Zuweisung der src zum IFrame in eine Funktion auszulagern die bei <BODY onLoad="funktion()"> aufgerufen wird, da sonst in seltenene Fällen das IFrame noch gar nicht existiert.
Ich hoffe das hilft.
Gruß Matthis
FsmE,
Wie kann ich den derzeit geladenen iFrame auslesen und die Infos zum "src" dann weitergeben ?
Auslesen und weitergeben dürfte schwierig werden und zudem wahrscheinlich überflüssig. Wenn Du ihn tatsächlich auslesen könntest, bräuchtest Du ihn nicht weiterzugen, sondern würdest Dir im Gegenteil "index2" auf selbem Wege reinziehen.
Mit dem search (http://www.mysite.xy/index2.html?search="frameURI") könntest Du aber zumindest die URI weitergeben, die das aufgerufene Dokument in seinen Inline Frame laden soll. Siehe hierzu:
http://selfhtml.teamone.de/javascript/objekte/location.htm#search
Danke schon mal &
Gruß Jessica
Gern geschehen.
In sensibus mistis,
HaThoV