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

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

Обратите вниманиеiframe и родительская страница тот же домен.

 clickbait26 июл. 2018 г., 05:12

Ответы на вопрос(13)

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

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

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

Solution 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.htm

target="_parent" Атрибут внутриanchor tag.

 Haim Evgi24 июн. 2009 г., 15:07
я пробовал это, но был открыт в новом окне
 Haim Evgi24 июн. 2009 г., 13:52
я попробую это, откроется в новом окне
 Gee24 июн. 2009 г., 14:44
Try target = "_ top". Iframe может содержать вложенные iframe? Или реальная ссылка открывается с помощью javascript на событие onclick?

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

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

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

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

Пытатьсяtarget="_top"

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

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

 Paul D. Waite31 мая 2014 г., 15:08
@ Дэн: ага, да, спасибо. Свежая ссылка: Dev.w3.org / html5 / спецификации / ...
 Dan Loewenherz22 мая 2014 г., 00:57
@ PaulD. Ждите ссылку, которую вы разместили в настоящее время 404s.
Решение Вопроса

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

<base target="_parent">

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

<base target="_blank">

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

 Charlie Schliesser23 янв. 2012 г., 21:00
Как этот тариф работает в разных браузерах?
 sam14 июн. 2014 г., 21:08
@ Уилф, я был не совсем прав:;)<base target> должен предшествовать любому<a href>, так как он устанавливает контекст просмотра по умолчанию для следующих ссылок;<base href> должен предшествовать любой ссылке на URL <* href> <* src> <form action> <object data>…) Так как он устанавливает базовый URL, относительно которого разрешаются относительные UR
 vsync20 авг. 2014 г., 10:22
почему ты отвечал на этот вопрос годпосл Я ответил точно так же? но вы были выбраны. это так странно.
 Chris Vasselli21 авг. 2014 г., 01:54
Я думаю, это потому, что ваш ответ открывает ссылку в новом окне, а мой открывает ее в родительском окне iframe, который был первоначальным вопросом. Извини, что украл твой гром!
 Mark Schultheiss17 мар. 2017 г., 13:31
Обратите внимание, что<base тег не закрывается в соответствии со спецификацией W3.org / TR / html5 / документ-метаданные # заместитель базового элемента так и должно быть<base target="_parent" >

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

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

если хочешь открыть все ссылки на родительскую страницу или родительский 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>
 dading8406 июн. 2017 г., 12:52
Хороший ответ, мне нужно было просто использовать это для конкретной ссылки, но принятый ответ только описывает, как изменить цель для всех ссылок на странице. Благодарност

base который позволяет вам:

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

<base target="_blank" />

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

 jjxtra13 февр. 2012 г., 21:58
Какой браузер поддерживает это?
 timetofly21 дек. 2013 г., 01:48
@ PsychoDad Все основные браузеры. W3schools.com / теги / tag_base.asp

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

Да, я нашел

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

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

<a target="_parent" href="http://url.org">link</a>
 Haim Evgi24 июн. 2009 г., 13:52
я попробую это, откроется в новом окне
 user90360114 мар. 2012 г., 06:18
+ 1 от меня, base target = "_ parent" работает, но target = "_ parent" никогда не подводил меня!
 Rustam22 июн. 2012 г., 13:28
это работает для SVG!
 MaxV11 июл. 2014 г., 15:37
target="_blank" работает также
 kriskodzi04 февр. 2015 г., 11:57
<base target="_blank"> нормально, но вопрос здесь об одной ссылке, а не об изменении поведения всех ссылок в iframe. Для меня это правильный ответ.

С JavaScript:

window.parent.location.href= "http://www.google.com";
 Node Developer15 сент. 2018 г., 09:00
Это прекрасно и работает для меня. Спасибо.
 Hitesh Vala Ahir08 окт. 2018 г., 10:44
Идеальное решение, работа для меня ...

Ваш ответ на вопрос