Как заставить ссылку из iframe быть открытой в Родительском окне

Мне нужно открыть ссылку на той же родительской странице, а не открывать ее на новой странице.

Примечание:iframe и родительская страница домен.

13 ответов


Я нашел лучшее решение-использовать базовый тег. Добавить страницы в iframe:

<base target="_parent">

это загрузит все ссылки на странице в Родительском окне. Если вы хотите, чтобы ваши ссылки загружались в новом окне, используйте:

<base target="_blank">

этот тег полностью поддержала во всех браузерах.


использовать target-attribute:

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

С JavaScript:

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

вы можете использовать любые опции

в случае только родительские страницы:

если вы хотите открыть все ссылке на родительскую страницу или родительский iframe, затем вы используете следующий код в головном разделе iframe:

<base target="_parent" />

или

если вы хотите открыть конкретную ссылку в родительскую страницу или родительский iframe, затем вы используете следующее путь:

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

или

в случае вложенного iframe:

если хотите открыть все ссылке в окно браузера (перенаправление в url браузера), затем вы используете следующий код в головном разделе 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>

или

если вы хотите открыть конкретную ссылку в окно браузера (перенаправление в url браузера), затем вы используете следующее путь:

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

или

<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>

есть элемент HTML под названием base, который позволяет:

укажите URL-адрес по умолчанию и цель по умолчанию для всех ссылок на странице:

<base target="_blank" />

указать _blank вы убедитесь, что все ссылки внутри окне iframe будет открыт снаружи.


Как уже отмечалось, вы можете использовать целевой атрибут, но он технически устарел в XHTML. Это оставляет вас с использованием javascript, обычно что-то вроде parent.window.location.


попробовать target="_parent" атрибут внутри anchor tag.


самое универсальное и самое кросс-браузерное решение-избегать использования тега" base", а вместо этого использовать целевой атрибут тегов "a":

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

на <base> тег менее универсален, и браузеры несовместимы в своих требованиях к его размещению в документе, требуя большего кросс-браузерного тестирования. В зависимости от вашего проекта и ситуации, может быть трудно или даже совершенно невозможно достичь идеального кросс-браузерного размещения <base> тег.

делаем на <a> тег-это не только браузер, но и позволяет различать те ссылки, которые вы хотите открыть в iframe, и те, которые вы хотите открыть в родительской.


<a target="parent"> открывать ссылки в новой вкладке/окне ... <a target="_parent"> откроет ссылки в Родительском / текущем окне без открытия новых вкладок / окон. Don't_forget_that_underscore!


Если вы используете iframe на своей веб-странице, вы можете столкнуться с проблемой при изменении всей страницы через HTML-гиперссылку (якорный тег) из iframe. Есть два решения для устранения этой проблемы.

Решение 1. Можно использовать целевой атрибут тега привязки, как показано в следующем примере.

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

решение 2. Вы также можете открыть новую страницу в Родительском окне из iframe с помощью JavaScript.

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

помните ⇒ target="_parent" была устарел в XHTML, но он по-прежнему поддерживается в HTML 5.x.

больше можно прочитать по следующей ссылке http://www.kriblog.com/html/link-of-iframe-open-in-the-parent-window.html


Да, я нашел

<base target="_parent" />

это полезно для открытия всех ссылок iframe, открытых в iframe.

и

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

Это можно использовать для всей страницы или определенной части страницы.

спасибо всем за помощь.


   <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>

попробовать target="_top"

<a href="http://example.com" target="_top">
   This link will open in same but parent window of iframe.
</a>