HTML Links aus iFrame in neuem Fenster öffnen

MacWolf

Cadet 2nd Year
Registriert
Feb. 2009
Beiträge
24
Hallo,

ich würde da mal eure Hilfe gebrauchen. Folgende Situation:

zwei Seiten, index.html und list.htm wobei die zweite über ein iFrame in die index.html eingbettet ist.

Nun würde ich es gerne bewerkstelligen, dass alle Links auf list.htm in einem neuen Fester geöffnet werden. Die list.htm selbst kann diesbezüglich nicht verändern, also muss das Ganze "global" über index.html bzw. den iFrame laufen.

Habe gehofft es würde über ein base target="_blank" im iFrame gehen, Fehlanzeige!

Code:
<iframe id="I1" border="0" frameborder="0" name="I1" src="list.htm" width="1100" style="height: 4250px" base target="_blank"></iframe>

über einen Tipp wäre ich sehr dankbar!
 
So lässt sich das mit dem Base-Target nicht schreiben (Leerzeichen dazwischen und eigentlich nicht im <iframe>-Tag zulässig).


Wenn, dann müsstest du
Code:
<base target="_blank" />
in den Head-Bereich der list.html hineinkopieren.

Edit: Ich hatte überlesen, dass du die list.html nicht bearbeiten kannst. Sorry!
 
Zuletzt bearbeitet:
genau das ist die Krux. Mit Base-Target in der list.html würde das problemlos funktionieren... das geht aber nicht.

Die list.html ist eigentlich eine Excel Datei (die sich laufend ändert) und als .html abgespeichert wird. Ein per Hand in list.html geschriebenes Base-Target wird bei der nächsten Aktualisierung wieder überschrieben.

Leider hab ich auch keine funktionierende Möglichkeit in Excel2003 oder OpenOffice gefunden um in abgespeicherten .html Dateien Hyperlinks in einem neuen Fenster zu öffnen.
 
Wenn die 2 Dateien am selben Webserver / lokalen Rechner liegen, dann kannst du das Base-Element per Javascript von der index.html aus in die list.html einfügen.

Das ganze auszuarbeiten muss ich aber momentan jemand anderes überlassen... ;-)
 
Code:
<script type="text/javascript">
	function openLinks() {
		var links = window.frames[0].document.getElementsByTagName("a");
		for(var i=0; i<links.length; i++)
			links[i].target = "_blank";
	}
	window.onload = openLinks; 
	</script>
Damit sollte es funktionieren. Einfach in den Head deiner index.html einbauen.
WICHTIG: Das Ganze funktioniert nur, wenn die Domains die selben sind! JavaScript hat nämlich eine Same Origin Policy.

Den Code kann man natürlich noch erweitern, dass er nur Elemente mit einem href nutzt, aber da kannst du zur Not ja selbst etwas dran rumspielen. ;-)
 
das funktioniert super, viiiiiiiiiiiiiiiiiiiielen DANK!!!
 
Zurück
Oben