Как заставить ссылку из iframe открываться в родительском окне - PullRequest
331 голосов
/ 24 июня 2009

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

примечание: iframe и родительская страница - это один и тот же домен .

Ответы [ 13 ]

581 голосов
/ 17 апреля 2010

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

<base target="_parent">

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

<base target="_blank">

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

135 голосов
/ 24 июня 2009

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

<a target="_parent" href="http://url.org">link</a>
32 голосов
/ 03 августа 2012

С JavaScript:

window.parent.location.href= "http://www.google.com";
22 голосов
/ 12 сентября 2015

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

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

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

<base target="_parent" />

OR

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

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

OR

в случае вложенного 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>

OR

если вы хотите открыть конкретную ссылку в окне браузера (перенаправить в 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>
15 голосов
/ 10 сентября 2009

Существует HTML-элемент с именем base, который позволяет:

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

<base target="_blank" />

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

8 голосов
/ 25 июня 2009

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

7 голосов
/ 24 июня 2009

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

4 голосов
/ 28 октября 2014

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

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

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

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

3 голосов
/ 30 октября 2013

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

2 голосов
/ 21 июня 2015

Если вы используете 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...