• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Externen Link in iFrame auf anderer interner Seite öffnen

Michael1411

Neues Mitglied
Hallo zusammen,

ich habe leider ein Problem und versuche seit Stunden verzweifelt eine Lösung zu finden.

Ich möchte einen externen Link auf beispielsweise interner Seite1 in einem iFrame auf beispielsweise interner Seite2 öffnen.

Leider habe ich nur Lösungen gefunden bei denen der Link in einem iFrame auf der gleichen Seite geöffnet wird. Beim Klick auf den externen Link soll sich jedoch eine interne Seite im gleichen Fenster öffnen in der der Inhalt der externen Seite in einem iFrame angezeigt wird.

Geht das und wenn ja, wie muss ich vorgehen?

Beste Grüße und vielen Dank.
 
Ich möchte einen externen Link auf beispielsweise interner Seite1 in einem iFrame auf beispielsweise interner Seite2 öffnen.

raff ich nit!

du willst eine externe seite in einem iframe auf deiner internen seite anzeigen, oder nur den link zur externen seite der dann beim klick darauf in der internen seite zu sehen ist?
 
Hi,

vielen Dank für die schnelle Rückmeldung.

Es soll so funktionieren:

Seite 1, beispielsweise eine Übersicht, beinhaltet mehrere externe Links. Beim Klick auf einen dieser externen Links soll der Inhalt in einem iFrame auf Seite 2 angezeigt werden. Seite 1 wird also verlassen und Seite 2 inkl. Inhalt im iFrame soll angezeigt werden, das alles soll im gleichen Fenster passieren.

Geht das?
 
Das sollte mit JavaScript oder PHP möglich sein, mit HTML alleine nicht.

Bei PHP könnte man z.B. die URL als Parameter an den Link anhängen, z.B. so:

Code:
Seite2.php?url=http://www.example.com

Und innerhalb von Seite2.php den Parameter auslesen und in den auszugebenden HTML-Code einfügen.

PHP:
<iframe src="<?php echo $_GET["url"]; ?>"></iframe>

Mit JavaScript könnte man es ähnlich machen. Entweder hängt man die URL an die aufzurufende URL an und liest auf Seite2.html den Parameter per JavaScript aus ODER man verwendet ein Cookie in dem die URL gespeichert wird und auf Seite2.html ausgelesen wird.

So oder so. Mit HTML alleine ist das nicht möglich. Und jede der o.g. Varianten hat eine Grenze, nämlich die maximale Länge von URLs. Die darf 255 Zeichen nicht überschreiben, wodurch du bei manchen externen URLs die Du so übergibst ggfs. ein Problem hast. Ich würde dir davon daher abraten.
 
Vielen Dank, hatte mir schon fast gedacht, dass es da Probleme gibt. Die URLs werden vermutlich länger als 255 Zeichen sein, daher fällt diese Lösung wohl flach.

Dann bleibt wohl echt nur die Lösung die externen Links in einem neuen Fenster zu öffnen, was ich eigentlich vermeiden wollte. :-(

Ich wollte erreichen, dass die externe Seite mit meinem Header angezeigt wird und der Besucher nicht das Gefühl hat die Seite zu verlassen. Die externen Inhalte sind alle an meine Seite angepasst und von daher sollte das eigentlich der Sinn an der Sache sein.

Oder gibt es eine Lösung bei der man den externen Inhalt einfach normal im iFrame auf der gleiche Seite lädt, der Rest vom Content dann aber verschwindet?
 
Mit reinem HTML sicher nicht
Ist aber mit Get-Parameter möglich, unter Zuhifenahme von PHP.
Wahrscheinlich auch mit Javascript, aber damit kenn ich mich nicht aus.

Übergib die URL der externen Seite einfach im Link mit und hinterlege die Get-Variable als src="" für den Iframe.

Der Link
HTML:
<a href="zielseite.php?iframe=externe_seite_1.html">Zielseite</a>

und auf der Zielseite der Iframe
PHP:
<iframe src="http://www.<?php echo $_GET['iframe']; ?>"></iframe>

Falls deine Seiten keine *.php sind, kannst du per htaccess bestimmen, dass PHP-Code auch in .htm(l) geparsed wird oder wie schon gesagt das gleiche Prinzip mit Javascript durchführen.
dabei muss dir dann aber jemand anderes helfen.
Oder du bemühst mal Tante Google und fragst sie nach "Javascript GET Parameter auslesen ausgeben".
Sollte was zu finden sein.

EDIT://
Da war ich wohl zu lange im Bad mit halb fertigem Beitrag :D
Als ich anfing zu schreiben waren nur die ersten beiden da...
 
Ich hätte vielleicht noch erwähnen sollen, dass das ganze in einer WordPress Installation laufen soll. Dachte das wäre kein Problem da es sich ja um .php Dateien handelt.

Wie es scheint, wird jedoch der Parameter in der URL zwar übergeben, jedoch auf der Zeilseite nicht ausgelesen... :-(
 
Ja, das hättest du erwähnen sollen.
Ich kenn mich zwar mit Wordpress nicht aus, kann mir aber nicht vorstellen, dass du bei den internen Sicherheitsmaßnahmen von WP mal eben PHP-Code hinterlegen kannst. Der wird beim Absenden garantiert abgefangen, ausgefiltert und schafft es somit nie bis in den Quellcode.
 
Das mit dem PHP Code ist kein Problem. Ich habe ein neues Template erstellt und da kann man problemlos PHP Code adden. Das Problem ist allerdings die Parameterübergabe. WordPress erlaubt es nicht Parameter in URLs zu vergeben, ich muss also eine Lösung finden wie ich die Parameter korrekt übermitteln kann. Habe bisher das hier gefunden und hoffe, dass es mir weiterhilft:

Using custom URL parameters in Wordpress ~ Webopius - Web design | Project Management | SEO | Graphic Design | E-Commerce | Content Management
 
Zurück
Oben