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

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

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

Ответ 1

Я нашел, что лучшим решением было использовать тег base. Добавьте в заголовок страницы в iframe следующее:

<base target="_parent">

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

<base target="_blank">

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

Ответ 2

Использовать целевой атрибут:

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

Ответ 3

С JavaScript:

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

Ответ 4

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

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

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

Ответ 5

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

Ответ 6

Здесь есть объект DOM, называемый base, который позволяет: "Указать URL по умолчанию и цель по умолчанию для всех ссылок на страница:"

<base target="_blank" />

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

Ответ 7

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

Ответ 8

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

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

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

Выполнение этого с помощью атрибута target="_parent" тега <a> не только более удобно для браузера, но также позволяет различать те ссылки, которые вы хотите открыть в iframe, и те, которые вы хотите открыть в предок.

Ответ 9

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

Ответ 10

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

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

<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

Ответ 11

Я нашел

<base target="_parent" />

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

И

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

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

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

Ответ 12

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

Ответ 13

Попробуйте target="_top"

<a href="#" onclick="location.href='http://example.com'; return false;" target="_top">
   This link will open in same but parent window of iframe.
</a>