it-swarm.com.de

So erzwingen Sie das Öffnen eines Links von iframe im übergeordneten Fenster

Ich muss den Link auf derselben übergeordneten Seite öffnen, anstatt ihn auf einer neuen Seite zu öffnen.

hinweis: Die iframe und die übergeordnete Seite sind dieselbe Domain.

335
Haim Evgi

Ich fand die beste Lösung, das base -Tag zu verwenden. Fügen Sie dem Kopf der Seite im iframe Folgendes hinzu:

<base target="_parent">

Dadurch werden alle Links auf der Seite im übergeordneten Fenster geladen. Wenn Sie möchten, dass Ihre Links in einem neuen Fenster geladen werden, verwenden Sie:

<base target="_blank">

Dieses Tag ist vollständig unterstützt in allen Browsern.

589
Chris Vasselli

Verwenden Sie das Zielattribut:

<a target="_parent" href="http://url.org">link</a>
137
nnevala

Mit JavaScript:

window.parent.location.href= "http://www.google.com";
32
yenssen

Sie können beliebige Optionen verwenden

nur bei übergeordneter Seite:

wenn Sie all link in einer übergeordneten Seite oder einem übergeordneten Iframe öffnen möchten, verwenden Sie den folgenden Code im head-Abschnitt von Iframe:

<base target="_parent" />

ODER

wenn Sie ein spezifischer Link in einer übergeordneten Seite oder einem übergeordneten iframe öffnen möchten, gehen Sie folgendermaßen vor:

<a target="_parent" href="http://specific.org">specific Link</a>
<a  href="http://normal.org">Normal Link</a>

ODER

bei verschachteltem iframe:

Wenn Sie all link in einem Browserfenster öffnen möchten (umleiten in der Browser-URL), verwenden Sie den folgenden Code im head-Bereich von iframe:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
    $(window).load(function(){
        $("a").click(function(){
            top.window.location.href=$(this).attr("href");
            return true;
        })
    })
</script>

ODER

wenn Sie ein spezifischer Link in einem Browserfenster öffnen möchten (umleiten in der Browser-URL), gehen Sie folgendermaßen vor:

<a  href="http://specific.org"   target="_top" >specific Link</a>

oder

<a  href="javascript:top.window.location.href='your_link'">specific Link</a>
<a  href="javascript:top.window.location.href='http://specific.org'">specific Link</a>
<a  href="http://normal.org">Normal Link</a>
24

Es gibt ein HTML-Element namens base , mit dem Sie:

Geben Sie eine Standard-URL und ein Standardziel für alle Links auf einer Seite an:

<base target="_blank" />

Indem Sie _blank angeben, stellen Sie sicher, dass alle Links im iframe außerhalb geöffnet werden.

14
vsync

Versuchen Sie target="_parent"Attribut innerhalb von anchor tag.

7
Gee

Wie bereits erwähnt, können Sie ein Zielattribut verwenden, das jedoch in XHTML technisch veraltet ist. Das lässt Sie mit Javascript, normalerweise etwas wie parent.window.location.

7
Ryan McGrath

Die vielseitigste und browserübergreifendste Lösung besteht darin, die Verwendung des "base" -Tags zu vermeiden und stattdessen das target-Attribut der "a" -Tags zu verwenden:

<a target="_parent" href="http://www.stackoverflow.com">Stack Overflow</a>

Das <base> -Tag ist weniger vielseitig und die Anforderungen von Browsern an die Platzierung innerhalb des Dokuments sind inkonsistent, sodass mehr browserübergreifende Tests erforderlich sind. Abhängig von Ihrem Projekt und Ihrer Situation kann es schwierig oder sogar unmöglich sein, die ideale browserübergreifende Platzierung des <base> -Tags zu erreichen.

Wenn Sie dies mit dem target="_parent" -Attribut des <a> -Tags tun, ist dies nicht nur browserfreundlicher, sondern ermöglicht Ihnen auch die Unterscheidung zwischen den Links, die Sie im iframe öffnen möchten, und denen, in denen Sie öffnen möchten das Elternteil.

4
Adelmar

Wenn Sie iframe auf Ihrer Webseite verwenden, tritt möglicherweise ein Problem auf, wenn Sie die gesamte Seite über einen HTML-Hyperlink (Ankertag) vom iframe aus ändern. Es gibt zwei Lösungen, um dieses Problem zu mindern.

Lösung 1. Sie können das Zielattribut des Ankertags wie im folgenden Beispiel angegeben verwenden.

<a target="_parent" href="http://www.kriblog.com">link</a>

Lösung 2. Sie können in iframe auch mit JavaScript eine neue Seite im übergeordneten Fenster öffnen.

<a href="#" onclick="window.parent.location.href='http://www.kriblog.com';">

Denken Sie daran, dass ⇒ target="_parent" in XHTML veraltet ist, aber weiterhin in HTML 5.x unterstützt wird.

Weitere Informationen finden Sie unter folgendem Link http://www.kriblog.com/html/link-of-iframe-open-in-the-parent-window.html

3
user1788142

<a target="parent"> öffnet Links in einem neuen Tab/Fenster ... <a target="_parent"> öffnet Links im übergeordneten/aktuellen Fenster, ohne neue Tab/Fenster zu öffnen. Vergiss diesen Punkt nicht!

3
krisjd

Yah, ich fand

<base target="_parent" />

Dies ist nützlich, um alle in iframe geöffneten iframe-Links zu öffnen.

Und

$(window).load(function(){
    $("a").click(function(){
        top.window.location.href=$(this).attr("href");
        return true;
    })
})

Dies können wir für die ganze Seite oder einen bestimmten Teil der Seite verwenden.

Vielen Dank für Ihre Hilfe.

2
Ratan Paul

Versuchen Sie target="_top"

<a href="http://example.com" target="_top">
   This link will open in same but parent window of iframe.
</a>
0
Aamir Shahzad
   <script type="text/javascript"> // if site open in iframe then redirect to main site
        $(function(){
             if(window.top.location != window.self.location)
             {
                top.window.location.href = window.self.location;
             }
        });
    </script>
0
sandeep kumar